Telefonliste in C

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Kayno
Beiträge: 3
Registriert: So Dez 04, 2016 5:37 pm

Telefonliste in C

Beitrag von Kayno » Mo Dez 26, 2016 7:53 pm

Code: Alles auswählen

include <stdio.h>
#define LAENGENAME 100
#define LAENGEVORWAHL 100
#define LAENGENUMMER 100
#define MAX 100


struct daten 
{
	char name[LAENGENAME];
	char vorname[LAENGENAME];
	char vorwahl[LAENGEVORWAHL];
	char nummer[LAENGENUMMER];
}adressbuch;


int main ()
{
	int abfrage;
	char i;
	char NAME;
	char VORNAME;
	char VORWAHL;
	char NUMMER;
	

	
	do
	{
		printf("\n\nEingabe\n\n");
		printf("<1> Eintrag einfuegen\n");
		printf("<2> Eintrag loeschen\n");
		printf("<3> Eintrag suchen\n");
		printf("<0> Programm Beenden\n\n");
		
		printf("Bitte geben Sie ein Zahl ein\n");
		scanf("%d", &abfrage);
		
			switch (abfrage)
	{
		case 1:		printf("Sie haben die 1 Eingegeben\n\n Bitte fuegen Sie einen Eintrag ein\n");
				
						for(i=0; i<1; i++) {


					printf("Name: ");
					scanf("%s", adressbuch.name);
					printf("Vorname: " );
					scanf("%s", adressbuch.vorname);
					printf("Vorwahl: ");
					scanf("%s", adressbuch.vorwahl);
					printf("Nummer: ");
					scanf("%s ", adressbuch.nummer);
					}		
					for(i=0; i<1; i++) {

					printf("Name: %s \n", adressbuch.name);
					printf("Vorname: %s \n", adressbuch.vorname);
					printf("Vorwahl: \n",adressbuch.vorwahl);
					printf("Nummer: ", adressbuch.nummer);
					}
					
					
					
					
					
					
					
					
					break;
					
		case 2:		printf("Sie haben die 2 Eingegeben\n Welchen Eintrag soll geloescht werden\n");
					break;
					
		case 3:		printf("Sie haben die 3 Eingegeben\n Was soll gesucht werden\n");
					break;
					
		default: break;	
	}

		
		
	}while (abfrage != 0);
	

	
	
	
	
	
	
	
	
	
	return 0;
}


bei Case 1 habe ich folgendes Problem es will nicht speichern bei meiner for schleife was mach ich falsch

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Telefonliste in C

Beitrag von nufan » Mo Dez 26, 2016 10:30 pm

Kayno hat geschrieben:

Code: Alles auswählen

scanf("%s ", adressbuch.nummer);
Da ist ein Leerzeichen zu viel, dadurch wartet scanf() auf eine weitere Eingabe, auch wenn diese dann nicht mehr gespeichert wird.
Kayno hat geschrieben:

Code: Alles auswählen

printf("Vorwahl: \n",adressbuch.vorwahl);
printf("Nummer: ", adressbuch.nummer);
Hier fehlt die Formatangabe für deinen Parameter. Dein Compiler spuckt auch eine Warning aus, wenn du die richtigen Flags setzt:

Code: Alles auswählen

$ gcc test.c -Wall
test.c: In Funktion »main«:
test.c:59:24: Warnung: zu viele Argumente für Format [-Wformat-extra-args]
                 printf("Vorwahl: \n",adressbuch.vorwahl);
                        ^~~~~~~~~~~~~
test.c:60:24: Warnung: zu viele Argumente für Format [-Wformat-extra-args]
                 printf("Nummer: ", adressbuch.nummer);
                        ^~~~~~~~~~
test.c:24:10: Warnung: Variable »NUMMER« wird nicht verwendet [-Wunused-variable]
     char NUMMER;
          ^~~~~~
test.c:23:10: Warnung: Variable »VORWAHL« wird nicht verwendet [-Wunused-variable]
     char VORWAHL;
          ^~~~~~~
test.c:22:10: Warnung: Variable »VORNAME« wird nicht verwendet [-Wunused-variable]
     char VORNAME;
          ^~~~~~~
test.c:21:10: Warnung: Variable »NAME« wird nicht verwendet [-Wunused-variable]
     char NAME;

Kayno
Beiträge: 3
Registriert: So Dez 04, 2016 5:37 pm

Re: Telefonliste in C

Beitrag von Kayno » Di Dez 27, 2016 12:03 am

Danke hat weiter geholfen jetzt möchte ich z.B die vorwahl löschen und ändern wie funktioniert das. Ich weiss das ich eine neue funktion machen muss

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Telefonliste in C

Beitrag von Xin » Di Dez 27, 2016 6:00 pm

Kayno hat geschrieben:Danke hat weiter geholfen jetzt möchte ich z.B die vorwahl löschen und ändern wie funktioniert das. Ich weiss das ich eine neue funktion machen muss
Sicherlich.
Und was stellst Du Dir denn vor, was die Funktion machen muss?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Kayno
Beiträge: 3
Registriert: So Dez 04, 2016 5:37 pm

Re: Telefonliste in C

Beitrag von Kayno » Di Dez 27, 2016 8:11 pm

die Funktion soll die Eingaben speichern so das wenn ich suche die funktion noch steht also ein beispiel

ich gebe als Namen Manfred also vornamen Heinz und vorwahl 225588 und nummer 335544 dann soll die funktion das speichern ich weiss nicht ob ich dafür murloc benutzen sollte.

Die nächste Funktion soll suchen z.B ich suche den eintrag Manfred dann zeigt er mir den eintrag Manfred auf und die dritte funktion soll eines der daten löschen und diese ändern z.B hatr Manfred eine neue nummer bekommen dann soll die alte gelöscht werden und die neue eingetragen werden..


Danke schonmal

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Telefonliste in C

Beitrag von Xin » Mi Dez 28, 2016 12:46 pm

Kayno hat geschrieben:die Funktion soll die Eingaben speichern so das wenn ich suche die funktion noch steht also ein beispiel

ich gebe als Namen Manfred also vornamen Heinz und vorwahl 225588 und nummer 335544 dann soll die funktion das speichern ich weiss nicht ob ich dafür murloc benutzen sollte.
murloc...? ^^

Speichern... verstehe ich als auf der Festplatte. Wenn Du RAM-Speicher brauchst, um die Daten zu halten, klingt malloc ganz gut.


Wie lernst Du C?
Kayno hat geschrieben:Die nächste Funktion soll suchen z.B ich suche den eintrag Manfred dann zeigt er mir den eintrag Manfred auf und die dritte funktion soll eines der daten löschen und diese ändern z.B hatr Manfred eine neue nummer bekommen dann soll die alte gelöscht werden und die neue eingetragen werden..
Du hast alle Daten als char-Array angelegt. Um die Daten zu ersetzen überschreibst Du sie einfach.

Vielleicht schaust Du Dir mal unser C-Tutorial an, zumindest bis zu den C-Strings.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten