Что я хочу сделать: пользователь вводит строку; например: 12345,44,55,66
. Я создал функцию для проверки того, являются ли первые 5 символов не цифрами, тогда программа выведет сообщение об ошибке, а если 6-й символ не ,
, программа также выведет сообщение об ошибке. Моя проблема в том, что я хочу, чтобы программа перестала читать коды, если обнаружена ошибка (не будет напечатана, если есть ошибка). Итак, как я могу остановить программу от продолжения чтения кодов? Вот что я написал до сих пор.Как заставить программу перестать читать коды?
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void checkstudentID(char temp[]);
main()
{
char temp[10000];
char m0[10000];
gets(temp);
checkstudentID(temp);
printf("%s",temp);
return 0;
}
void checkstudentID(char temp[])
{
int i;
for (i=0;i<6;i++)
{
if (isdigit(temp[i]) == 0)
{
printf("Student ID must contain only integers.\n");
return 0;
}
}
if (temp[6] != *(","))
{
printf("Student ID must contain only 6 integers.\n");
return 0;
}
}
Вы не можете вернуть какое-либо значение из функции 'void', используйте' exit (EXIT_SUCCESS); 'и' int main (void) ' –
. Какой вклад вы дали? –
Не означает захват потока, но может кто-нибудь объяснить, как '* (", ")' интерпретируется компилятором c? Это первый раз, когда я вижу такой синтаксис, и компилятор вообще не жаловался!?!? – yasouser