książka telefoniczna

0

Mam taki problem program mój miał być książką telefoniczną która pobiera dane z pliku lecz nie mam pojęcia jak mam ją poprawić mój kod źródłowy to:

#include <stdio.h>
#include <string.h>


#define FILE_NAME "osoby.txt"

struct Tdane

{
       char *imie;
       char *nazwisko;
       char *numer;
       
}osoba[100];
{           
             osoba[1].imie ="Jan";
             osoba[1].nazwisko ="Kowalski";
             osoba[1].numer ="8637-356";
             
             printf("%s",osoba[1].imie);
             printf("%s",osoba[1].nazwisko);
             printf("%s",osoba[1].numer);
                             
}

int pobierz_numer_osoby(char tel[]);

int main()
{
	char tel[10];
	char wybor = ' ';
    printf("ksiazka telefoniczna\n");
   	printf("\n1 - wczytaj osobe \n0-wyjscie\n\n"); 
	
	int jeden = 1;
	int znaleziona = 0;
	while((wybor = getchar()) != '0'){
	    if(jeden == 0) printf("\n\n1 - wczytaj osobe \n0-wyjscie\n\n"); 
		switch(wybor){
			case '0': 	znaleziona = pobierz_numer_osoby(tel);
						if(znaleziona == 1)
							printf("Numer tej osoby to: %s" , tel);
						else if(znaleziona  == 0)
							printf("Niesty nie znaleziono tej osoby!");
						else 
							printf("Niesty plik z osobami nie istnieje!");
						jeden = 0;
						break;
		}	
	}
	return 0;
}

Bardzo proszę o pomoc i z góry dziękuje;)

0

Czego konkretnie nie wiesz ?

0

co mam dalej zrobić bo niestety nie wyczytuje mi tego z pliku

0
ann napisał(a)

co mam dalej zrobić bo niestety nie wyczytuje mi tego z pliku

Faktycznie, nie wczytuje Ci z tego pliku bo nigdzie żadnego pliku nie używasz... Do momentu osiągnięcia przez komputery samoświadomości ten kod nie ma szans wczytywać czegokolwiek z jakiegokolwiek pliku.
Poczytaj na przykład to: http://www.cprogramming.com/tutorial/cfileio.html

struct Tdane
{
       char *imie;
       char *nazwisko;
       char *numer;
       
}osoba[100];
{          
             osoba[1].imie ="Jan";
             osoba[1].nazwisko ="Kowalski";
             osoba[1].numer ="8637-356";
             
             printf("%s",osoba[1].imie);
             printf("%s",osoba[1].nazwisko);
             printf("%s",osoba[1].numer);                            
}

To się nie skompiluje i nie wiadomo właściwie ci miałoby robić.

int pobierz_numer_osoby(char tel[]);

Nie masz nigdzie definicji tej funkcji.

0

Dzięki wielki zrobiłam tak jak mówiłeś wyrzuciłam tą strukturę, ale niestety teraz natomiast przypisuje mi ten sam numer do różnych osób nie wiem czego jest to wina. Teraz ten program wygląda tak:

#include <stdio.h>
#include <string.h>


#define FILE_NAME "osoby.txt"

int pobierz_numer_osoby(char tel[]);

int main()
{
	char tel[10];
	char wybor = ' ';
	printf("ksiazka telefoniczna\n");
	
	printf("\n1 - wczytaj osobe \n0-wyjscie\n\n"); 
	
	int jeden = 1;
	int znaleziona = 0;
	while((wybor = getchar()) != '0'){
	    if(jeden == 0) printf("\n\n1 - wczytaj osobe \n0-wyjscie\n\n"); 
		switch(wybor){
			case '1': 	znaleziona = pobierz_numer_osoby(tel);
						if(znaleziona == 1)
							printf("Numer tej osoby to: %s" , tel);
						else if(znaleziona  == 0)
							printf("Niesty nie znaleziono tej osoby!");
						else 
							printf("Niesty plik z osobami nie istnieje!");
						jeden = 0;
						break;
		}
		
	}

	return 0;

int pobierz_numer_osoby(char tel[]) 
{

	char name[100], surname[100];
	char readName[100], readSurname[100];

	FILE *fp;
	
	fp = fopen(FILE_NAME, "r");
	if(fp != NULL){
	
	
		printf("Podaj imie:");
		scanf("%s", name);
		printf("Podaj nazwisko:");
		scanf("%s", surname);
	
	(fscanf(fp, "%s %s %s", readName, readSurname, tel)!= EOF);
		
 fclose(fp);
		return 1;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1