Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » C: strings/Kommandozeilenargumente » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen C: strings/Kommandozeilenargumente
Beiträge zu diesem Thema Autor Datum
 C: strings/Kommandozeilenargumente Lars 10.01.2016 11:21
 RE: C: strings/Kommandozeilenargumente eulerscheZahl 10.01.2016 13:40
 RE: C: strings/Kommandozeilenargumente Lars 10.01.2016 13:58
 RE: C: strings/Kommandozeilenargumente Lars 10.01.2016 14:31
 RE: C: strings/Kommandozeilenargumente eulerscheZahl 10.01.2016 14:36
 RE: C: strings/Kommandozeilenargumente Lars 10.01.2016 17:27

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Lars
unregistriert
C: strings/Kommandozeilenargumente Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hab die Aufgabe mal im Anhang hochgeladen.

Meine Ideen:
code:
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:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) 
{
	int i;
	int s;
	int v=0;
	int t=0;

   for(i=1; i < argc; i++) 
   	{
	 	printf("Argument %d: %s ", i, argv[i]);
	 	char* p=argv[i];
		do
		{
		if(t!=0)p++;
		if(*p=='a','A','e','E','i','I','o','O','u','U')v++;
		if(*p=='\0')printf("hat %i Zeichen, davon %i Vokale\n",s,v);
		s++;
		t++;
		}while(*p!='\0');
	}
   return EXIT_SUCCESS;
}

Ich hab imo keine wirkliche Ahnung, warum das mit dem Zählen nicht funktioniert (das mit den Vokalen kann ich so gar nicht schreiben schätze ich, gibt's dafür ne andere Möglichkeit?)
Wir hatten das nur in der Vorlesung und nicht im Tutorium und inner Vorlesung hatte ich die Grundlage verstanden, aber imo wills nicht klappen.

Lars hat dieses Bild (verkleinerte Version) angehängt:
Aufgabe 2 pPr.png

10.01.2016 11:21
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
#include <stdio.h>

int main(int argc, char* argv[]) {
	int i;
	int vokale;
	int zeichen;
	char* p;
	
	for (i = 1; i < argc; i++) {
		printf("Argument %d: %s ", i, argv[i]);
		p = argv[i];
		vokale = 0; //zurücksetzen für jedes Wort
		zeichen = 0;
		while (*p != '\0') {
			if (*p == 'A' || *p == 'E' || *p == 'I' || *p == 'O' || *p == 'U' ||
				*p == 'a' || *p == 'e' || *p == 'i' || *p == 'o' || *p == 'u') {
				vokale++;
			}
			zeichen++;
			p++;
		}
		printf("hat %i Zeichen, davon %i Vokale\n", zeichen, vokale);
	}
}


__________________
Syntax Highlighting fürs Board (Link)
10.01.2016 13:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lars
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Alles klar, das mit den || hab ich danach auch so gemacht, habs jetzt auch richtig, aber dein code ist bei weitem einfacher gehalten, danke dir.
10.01.2016 13:58
Lars
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
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:
#include <stdio.h>

int main(int argc, char* argv[]) {
	int i;
	int n=0;
	int vokale;
	int zeichen;
	char* p;
	char* rauf;
	char* runter;
	
	for (i = 1; i < argc; i++) 
	{
		printf("Argument %d: %s ", i, argv[i]);
		p = argv[i];
		rauf = argv[i];
		vokale = 0; 
		zeichen = 0;
		while (*p != '\0') 
		{
			if (*p == 'A' || *p == 'E' || *p == 'I' || *p == 'O' || *p == 'U' ||
				*p == 'a' || *p == 'e' || *p == 'i' || *p == 'o' || *p == 'u') 
				{
				vokale++;
				}
			zeichen++;
			p++;
		}
	printf("hat %i Zeichen, davon %i Vokale ", zeichen, vokale);
	while(*rauf!='\0')
	{
		runter=rauf;
		rauf++;
		n++;
	}
	for(n;n>0;n--)
	{
		printf("%c",*runter);
		runter--;
	}
	printf("\n");
	}
}

Hab das mal vervollständigt, danke nochmal.
10.01.2016 14:31
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hier meine Version:
code:
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:
#include <stdio.h>

int main(int argc, char* argv[]) {
	int i;
	int vokale;
	int zeichen;
	char* p;
	
	for (i = 1; i < argc; i++) {
		printf("Argument %d: %s ", i, argv[i]);
		p = argv[i];
		vokale = 0; //zurücksetzen für jedes Wort
		zeichen = 0;
		while (*p != '\0') {
			if (*p == 'A' || *p == 'E' || *p == 'I' || *p == 'O' || *p == 'U' ||
				*p == 'a' || *p == 'e' || *p == 'i' || *p == 'o' || *p == 'u') {
				vokale++;
			}
			zeichen++;
			p++;
		}
		printf("hat %i Zeichen, davon %i Vokale ", zeichen, vokale);
		do {
			p--;
			printf("%c", *p);
		} while (p != argv[i]);
		printf("\n");
	}
}


__________________
Syntax Highlighting fürs Board (Link)
10.01.2016 14:36 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lars
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Is noch besser, bin ich gar net drauf gekommen smile .
10.01.2016 17:27
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » C: strings/Kommandozeilenargumente