summaryrefslogtreecommitdiffstats
path: root/Bachelor/Verteilte Systeme/Praktikum2/loesung/telbuch_client.c
blob: cc846e26cfdd4c63df1c1f9a87aa72e491003c03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
 * This is sample code generated by rpcgen.
 * These are only templates and you can use them
 * as a guideline for developing your own functions.
 */

#include "telbuch.h"


void
telbuch_verwaltung_1(char *host)
{
	CLIENT *clnt;

#ifndef	DEBUG
	clnt = clnt_create (host, TELBUCH_VERWALTUNG, ONE, "udp");
	if (clnt == NULL) {
		clnt_pcreateerror (host);
		exit (1);
	}
#endif	/* DEBUG */


	/* my code START */
	addStruct  addentry_1_arg;
	searchStruct  searchentry_1_arg;
	Ergebnis* result;
	void* erg;
	int w;
	char name[41];
	char nname[20];
	char vname[20];
	char telnr[20];

	printf("\nOptionen:");
	printf("\n1. Eintrag suchen");
	printf("\n2. Eintrag eintragen");
	printf("\n0. Beenden");
	printf("\n\nWahl: ");
	scanf("%d",&w);

	switch (w)
	{
	case 1:		// Nach Eintrag suchen
		printf("\nName: ");
		scanf("%s %s",nname, vname);		// Suchnamen lesen
		
		strcpy(name,nname);
		strcat(name, " ");
		strcat(name, vname);
		strcpy(searchentry_1_arg.Name,name);	// Parameter f�r Suche f�llen

		result = searchentry_1(&searchentry_1_arg, clnt);	// Suche durchf�hren
		if (result == (Ergebnis *) NULL)
			clnt_perror (clnt, "call failed");
		else
			printf("%s\n",result->Eintrag);
		break;
	case 2:		// Eintrag eintragen
		printf("\nName: ");
		scanf("%s %s",nname, vname);			// Name lesen
		printf("Nummer: ");
		scanf("%s",telnr);			// Nummer lesen

		strcpy(name, nname);
		strcat(name, " ");
		strcat(name, vname);
		strcpy(addentry_1_arg.Name,name);	// Parameter f�r Eintrag
		strcpy(addentry_1_arg.TelNr,telnr);
		result = addentry_1(&addentry_1_arg, clnt);	// Eintragen durchf�hren
		if (result == (Ergebnis *) NULL)
			clnt_perror (clnt, "call failed");
		else
			printf("%s\n",result->Eintrag);
		break;
	case 0:	exit(0);
	default: printf("Falsche Eingabe\n"); break;
	}
	/* my code END */


	/*result_1 = addentry_1(&addentry_1_arg, clnt);
	if (result_1 == (Ergebnis *) NULL) {
		clnt_perror (clnt, "call failed");
	}
	result_2 = searchentry_1(&searchentry_1_arg, clnt);
	if (result_2 == (Ergebnis *) NULL) {
		clnt_perror (clnt, "call failed");
	}*/
#ifndef	DEBUG
	clnt_destroy (clnt);
#endif	 /* DEBUG */
}


int
main (int argc, char *argv[])
{
	char *host;

	if (argc < 2) {
		printf ("usage: %s server_host\n", argv[0]);
		exit (1);
	}
	host = argv[1];
	telbuch_verwaltung_1 (host);
exit (0);
}