Folgend finden Sie weitere einfache Übungen rund um Strukturen:
D) Eine Funktion ausgabe die ByVal eine Variable übergeben bekommt
E) Eine Funktion leseein die ByRef die Werte füllt und D zur Kontrolle aufgerufen wird (in main)
F) Ein Feld mit 20 Kunden sowie aufruf von E an einem der Feldplätze sowie D zur Kontrolle
// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_structs2.php
// ************************************************************************************************
#include <stdio.h>
#include <string.h> //strcpy Funktion
//Benötigte Struktur
struct kunde
{
char vorname[50];
char nachname[50];
char telefon[50];
};
void ausgabe(struct kunde);
void einlesen(struct kunde *);
void main()
{
int kundenid=0;
struct kunde k[20]; //Aufgabe F
printf("Bitte Kundennummer eingeben:");
scanf("%i",&kundenid);
einlesen(&k[kundenid]); //Aufgabe F
ausgabe(k[kundenid]); //Aufgabe F
}
void ausgabe(struct kunde pkunde) //Aufgabe D
{
printf("Vorname = %s, Nachname = %s, Telefon = %s\n",pkunde.vorname,pkunde.nachname,pkunde.telefon);
}
void einlesen(struct kunde * pkunde) /Aufgabe E
{
char buffer[50]; //Zwischenspeicher zur strcpy Funktion
//Vorname verabeiten
printf("Bitte Vornamen eingeben:");
scanf("%s", buffer);
strcpy((*pkunde).vorname,buffer);
//Nachname verarbeiten
printf("Bitte Nachnamen eingeben:");
scanf("%s", buffer);
strcpy((*pkunde).nachname,buffer);
//Telefonnummer verarbeiten
printf("Bitte Telefonnummer eingeben:");
scanf("%s", buffer);
strcpy((*pkunde).telefon,buffer);
}