Traying to search in a file for input number and name

This is a discussion on Traying to search in a file for input number and name within the C Programming forums, part of the General Programming Boards category; Code: #include <stdio.h> #include <string.h> #include <ctype.h> typedef struct administratie { int ProgressNummer; char voornaam [10]; char achternaam [10]; float ...

  1. #1
    Registered User
    Join Date
    Jul 2009
    Posts
    1

    Unhappy Traying to search in a file for input number and name

    Code:
    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    typedef struct administratie
    {
    	int ProgressNummer;
    	char voornaam [10];
    	char achternaam [10];
    	float CijferNetwerk;
    	float CijferDigitaal;
    	float CijferInfo;
    
    } a;
    
    void GegevenInvoeren (a *);
    void HoogsteGemiddeldeCijferOpzoekenEnWeergeven (a *);
    //void StudentMetLaagsteGemiddeldeCijferOpzoekenEnWeergeven (a *);
    //void HoogsteBehaaldeCijferVanEenVakOpzoekenEnWeergeven (a *);
    
    int keuze=0;
    float Resultaat;
    float Gemiddelde;
    int x;
    
    void main (void)
    {
    	a admin [6]={0,'\0','\0',0,0,0};
    	printf("\n Welkom bij onze administratie programma \n");
    
    	while(keuze!=5)
    		{
    			printf("\n1 Gegevens en cijfer van een student invoeren \n");
    			printf("\n2 Student met het hoogste gemiddelde cijfer opzoeken en weergeven\n");
    			printf("\n3 Student met het laagste gemiddelde cijfer opzoeken en weergeven \n");
    			printf("\n4 Hoogste behaalde cijfer van een vak opzoeken en weergeven \n");
    			printf("\n5 Programma afsluiten \n");
    
    			printf("\n Maak een keuze van de menu:");
    			scanf("%d", &keuze);
    
    			if(keuze==1)
    				{
    					GegevenInvoeren (admin);
    
    				}
    
    			if(keuze==2)
    				{
    					HoogsteGemiddeldeCijferOpzoekenEnWeergeven (admin);
    
    				}
    
    			if(keuze==3)
    				{
    					StudentMetHoogsteGemiddeldeCijferOpzoekenEnWeergeven (admin);
    				}
    
    			if(keuze==4)
    				{
    					HoogsteBehaaldeCijferVanEenVakOpzoeken (admin);
    				}
    
    			if(keuze==5)
    				{
    					printf("\n Prgramma afsluiten \n");
    
    				}
    
    		}//end while
    
    }//end main
    
    
    void GegevenInvoeren (a *b)
    {
    	FILE *pAppend;
    	pAppend=fopen("c:\\opdrachtinfo3.txt","a");
    
    	if (pAppend==NULL)
    
    	printf("\n file cannot be opened\n");
    
    	else
    		{
    			printf("\n Voer in een progress nummer tussen 10000 en 20000 \n");
    			scanf("%d", b[x].ProgressNummer);
    
    			if ( b[x].ProgressNummer<10000 || b[x].ProgressNummer>20000 )
    				printf("\n progress nummer is niet in het gebied \n");
    
    			else
    				printf("\n nummer is in het gebied \n");
    
    
    			printf("\n Voer in het Voornaam:");
    			scanf("%s", b[x].voornaam);
    
    			printf("\n Voer in een Achternaam:");
    			scanf("%s", b[x].achternaam);
    
    			printf("\n Voer in het cijfer van netwerken:");
    			scanf("%.1f", b[x].CijferNetwerk);
    
    			if (b[x].CijferNetwerk<1 || b[x].CijferNetwerk>10)
    				printf("\n Cijfer is niet in het gebied \n");
    
    			else
    				printf("\n nummer is in het gebied\n");
    
    
    
    			printf("\n Voer in het cijfer van digitaal:");
    			scanf("%.1f", b[x].CijferDigitaal);
    
    			if (b[x].CijferDigitaal<1 || b[x].CijferDigitaal>10)
    				printf("\n Cijfer is niet in het gebied \n");
    
    			else
    				printf("\n nummer is in het gebied\n");
    
    
    
    			printf("\n Voer in het cijfer van info:");
    			scanf("%.1f", b[x].CijferInfo);
    
    			if (b[x].CijferInfo<1 || b[x].CijferInfo>10)
    				printf("\n Cijfer is niet in het gebied \n");
    
    			else
    				printf("\n nummer is in het gebied\n");
    
    
    			Resultaat=b[x].CijferNetwerk + b[x].CijferDigitaal + b[x].CijferInfo ;
    
    			printf("\n het totaal resultaat is %.1f\n", Resultaat);
    
    			Gemiddelde=Resultaat / 3;
    
    			printf("\n Het Gemiddelde is %.1f \n", Gemiddelde);
    
    
    			fprintf(pAppend,"%d %s %s %.1f %.1f %.1f \n", b[x].ProgressNummer, b[x].voornaam, b[x].achternaam, b[x].CijferNetwerk, b[x].CijferDigitaal, b[x].CijferInfo);
    			fclose(pAppend);
    
    		}//end else
    
    }//end void
    
    
    void HoogsteGemiddeldeCijferOpzoekenEnWeergeven (a *b)
    {
       FILE *pRead;
    
       int z;
    
       float max =0;
       float min =0;
    
       char checkvoornaam [20] ;
       char checkachternaam [20];
    
       int checkprogressnummer;
    
       pRead=fopen("c:\\opdrachtinfo3.txt","r");
    
       if(pRead=NULL)
    	   printf("\n file is niet gevonden\n");
    
       else
    	   {
    
    		   printf("\n progressnummer \t Voornaam \t Achternaam \t HoogsteCijfer \n");
    
    		   if(Gemiddelde>max)
    			   {
    				   max=Gemiddelde;
    
    				}
    
    		    if(b[x].voornaam==checkvoornaam)
    				{
    					checkvoornaam==b[x].voornaam;
    
    				}
    
    			if(b[x].achternaam==checkachternaam)
    				{
    					checkachternaam==b[x].achternaam;
    
    				}
    
    			if(b[x].ProgressNummer==checkprogressnummer)
    				{
    					checkprogressnummer==b[x].ProgressNummer;
    
    				}
    
    			fscanf(pRead,"%d %s %s %.1f",b[x].ProgressNummer,b[x].voornaam,b[x].achternaam,Gemiddelde);
    
    			while(!feof(pRead))
    				{
    					printf("%d %s %s %.1f",b[x].ProgressNummer, b[x].voornaam, b[x].achternaam,Gemiddelde);
    
    					fscanf(pRead,"%d %s %s %.1f", b[x].ProgressNummer, b[x].voornaam, b[x].achternaam, Gemiddelde);
    				}
    
    			}//end else
    
    }//end void
    I have a problem with my program. the perpose of the program is that i need to insert the name, lastname, progress nummber, 3 calification (cijfer netwerk,cijferdigitaal,cijferinfo). this calification i need to make a som of them to uptain a result. the totale result i need to devide it by 3 to optain the average an then in option 2 i need to seach in a file for the max average result from a student and the name of the student. below i have post my code
    can you pleas help me whit this

  2. #2
    Registered User slingerland3g's Avatar
    Join Date
    Jan 2008
    Location
    Seattle
    Posts
    603
    I do not see how you have defined this struct member?

    Code:
       scanf("%d", b[x].ProgressNummer);   /*what is x here */

Popular pages Recent additions subscribe to a feed

Tags for this Thread


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21