Jump to content

tray to search for a number and name pleas help me out

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
3 replies to this topic

#1
shamir

shamir

    Newbie

  • Members
  • Pip
  • 2 posts
Dear guys i have a problem with my program. the program that i need to create is a program where you have to insert the student number the first name, last name, and also 3 student calification (cijfer netwerk, cijfer digitaal, cijfer info) the program language is in dutch but i will put the program code below.
in option 2 the program need to search for the max calification of he student. the program has to search in a file for this number and also it has to search for the name last name and student number (progressnummer).
the problem that i have is that it dont read the file and also i can not search in the file pleas if some one can help wil be good.
#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;

				}

Edited by WingedPanther, 30 July 2009 - 04:44 AM.
add code tags (the # button)


#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
What does the file look like?
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,715 posts
A few suggestions:

1) You might want to replace this:
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");
}

with this:
switch(keuze)
{
case 1:
    GegevenInvoeren(admin);
    break;
case 2:
    HoogsteGemiddeldeCijferOpzoekenEnWeergeven(admin);
    break;
case 3:
    StudentMetHoogsteGemiddeldeCijferOpzoekenEnWeergeven(admin);
    break;
case 4:
    HoogsteBehaaldeCijferVanEenVakOpzoeken(admin);
    break;
case 5:
    printf("Programma afsluiten\n");
    break;
default:
    /*sorry, I only speak German, but you get the idea*/
    printf("Bitte wählen Sie eine Nummer von 1-5.\n");
    break;
}

2) main() should always return an int. void main() is not standard.
3) Do you get the "niet gevonden" error when trying to read the file? I also don't see any calls to fscanf() in your code...

Edited by dargueta, 03 August 2009 - 04:14 PM.
Typo

sudo rm -rf /

#4
shamir

shamir

    Newbie

  • Members
  • Pip
  • 2 posts
thank you very much for you help. i will make the change and i will let you know as soon as i make the change oke