C :: Aufgabe #87

2 Lösungen Lösungen öffentlich

Das Array-Telefonbuch

Anfänger - C von Energy - 17.08.2015 um 15:11 Uhr
Erstelle ein mehrdimensionales Array, in der 5 Datensätze gespeichert werden. Es soll eine Festnetznummer, eine Handynummer und eine Geschäftliche Telefonnummer in der Konsole eingegeben werden. Nach der Eingabe soll die Konsole geleert und die Nummern ausgegeben werden. Bei der Ein- sowie Ausgabe soll eine laufende Eintragsnummer angezeigt werden.

Lösungen:

vote_ok
von schlemiel (160 Punkte) - 11.11.2015 um 09:02 Uhr
Quellcode ausblenden C-Code
/*
 * mainTel.c
 *
 *  Created on: 09.11.2015
 *      Author: schlemiel
 */

#include <stdio.h>
#define MAX 20

struct telefonbuch {
	int id;
	char fest[MAX];
	char mobil[MAX];
	char buero[MAX];
} tel[5];

void eingabe(){
	for(int i = 0; i < 5; i++) {
		printf("%d. Datensatz eingeben!\n", i+1);
			tel[i].id=i+1;
			printf("Bitte Festnetznummer eingeben: \n");
			fgets(tel[i].fest, MAX, stdin);
			printf("Bitte Mobilnummer eingeben: \n");
			fgets(tel[i].mobil, MAX, stdin);
			printf("Bitte Büronummer eingeben: \n");
			fgets(tel[i].buero, MAX, stdin);
	}
}

void loeschen(){
	 printf("\033[2J");
	 printf("\033[1;1H");
}

void titel() {
	printf("=====================\n");
	printf("     Telefonbuch\n");
	printf("=====================\n");
}

void ausgabe(){
	titel();
	for(int i = 0; i < 5; i++) {
		printf("%d. Fest:  %s   Mobil: %s   Büro:  %s\n", tel[i].id,
				tel[i].fest, tel[i].mobil, tel[i].buero);
	}
}

int main() {
	loeschen();
	titel();
	eingabe();
	loeschen();
	ausgabe();
	return 0;
}
1x
vote_ok
von devnull (8870 Punkte) - 24.12.2015 um 23:05 Uhr
Quellcode ausblenden C-Code
/*********************************
 * telbuch.c    Array-Telefonbuch
 *********************************/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>

/* Anzahl Datensaetze */
#define REC_ANZ  			5
/* Anzahl Nummern */
#define NUM_ANZ  			3
/* max. Laenge Nummer */
#define NUM_LEN  			20

const char telnum_type[][16] = { "Festnetznummer ", 
                                 "Handynummer    ", 
                                 "Geschaeftlich  " 
                               };
char telefon_buch[REC_ANZ][NUM_ANZ][NUM_LEN+1];

int main(void) {
	char buffer[LINE_MAX];
	int nrec, nnum;

	/* EINGABE */
	for (nrec=0; nrec<REC_ANZ; nrec++) {
		printf("\nDatensatz #%d eingeben:\n", nrec+1);
		for (nnum=0; nnum<NUM_ANZ; nnum++) {
			printf("%s: ", telnum_type[nnum]);
			scanf("%s", buffer);
			strncpy(telefon_buch[nrec][nnum], buffer, NUM_LEN);
			telefon_buch[nrec][nnum][NUM_LEN] = 0;
		}
	}

	/* clear screen OS-spezifisch! */
	system("clear");		

	/* AUSGABE */
	for (nrec=0; nrec<REC_ANZ; nrec++) {
		printf("\nDatensatz #%d:\n", nrec+1);
		for (nnum=0; nnum<NUM_ANZ; nnum++)
			printf("%s : %s\n", telnum_type[nnum], 
						 telefon_buch[nrec][nnum]);
	}
	return 0;
}
2102584

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.