If abfrage

OhneNick

Grünschnabel
Hallo zusammen.

Ich habe da ein kleines Problem.

wie kann ich in einer if abfrage mehrere kriterien angeben.

mein source sieht im mom noch so aus:
****************************************************************

printf("Möchten Sie noch eine Nachricht versenden?: ");
fgets (eingabe, 5, stdin);



if (!strcmp(eingabe, "j" || "ja"))
{
cancel=0;

}
else
{
cancel=1;
printf ("Viel spass noch\n");
sleep(2000);
}
 
Bei mir kommt immer diese Meldung und ich finde den Fehler nicht



Error c:\programme\lcc\test.c: 109 type error in argument 2 to `strcmp'; found `int' expected `pointer to const char'

******************************************************************

*/local data */
/*************/

int cancel=0;
char eingabe[5];
char b={'j'};
char c[2]={"ja"};

/* begin */
/*********/

printf("Möchten Sie noch eine Nachricht versenden?: ");
fgets (eingabe, 5, stdin);



if (!strcmp(eingabe, ("a") || ("b")))
{
cancel=0;

}
else
{
cancel=1;
printf ("Viel spass noch\n");
sleep(2000);
}

}
 
Code:
if (!strcmp(eingabe, ("a") || ("b")  ))

Du verknüpfst in der ODER-Bedingung einfach zwei Strings miteinander (was da rauskommen soll, mußte mir mal bei Gelegenheit erklären ;) ). Die zwei verschiedenen Vergleichsstrings mußt Du auch in 2 Bedinungen unterbringen, alà:

Code:
if (!strcmp(eingabe, "a") || !strcmp(eingabe, "b"));
 
Bei mir geht er immer in die else schlaufe
vileicht bin ich zu dumm, aber ich weiss nicht wo der Fehler ist

Code:
*******************************************************************


#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <stdlib.h>

int main()
{

 /* Local Data */
 /**************/

char netsend[255];
char comp[20];
char msg[200];
int lang1=0;
int lang2=0;
int i=0;
char a={' '};
int tmp=0;
int system(const char *netsend);
int cancel=0;
char eingabe[5];
char c={'j'};
char b[5]={"ja"};



 /* Begin */
 /*********/
while (cancel==0)
{

printf ("*******************************************************\n");
printf ("************** Net Send von xy **************\n");
printf ("*******************************************************\n");
printf ("\n");
printf ("\n");


strcpy(netsend,"net send ");


printf ("Bitte geben Sie den Namen des gewünschten Computers ein: ");
fgets (comp, 20, stdin);
lang1=strlen(comp);
lang1--;

printf ("\n");

printf ("Bitte Bitte genem Sie die Nachricht ein: ");
fgets (msg, 255, stdin);
lang2=strlen(msg);

printf ("\n");
printf ("\n");
printf ("\n");



for (i=0; i<=lang1; i++)
{
  netsend[9+i]=comp[i];
}

netsend[8+i]=a;
tmp=9+i;



for (i=0; i<=lang2; i++)
{
  netsend[tmp+i]=msg[i];

}



printf ("*******************************************************\n");
system(netsend);
printf ("*******************************************************\n");
printf ("\n");
printf ("\n");
printf ("\n");
sleep(3000);



printf("Möchten Sie noch eine Nachricht versenden?: ");
fgets (eingabe, 5, stdin);



if (!strcmp(eingabe, "b") || !strcmp(eingabe, "c"))
{
cancel=0;

}
else
{
cancel=1;
printf ("Viel spass noch\n");
sleep(2000);
}

}








return(0);

}
 
Zurück