Zadanie z łańcuchów znaków

0

................................................

1

Więc musisz zapytać jaki był temat zajęć i przeczytać to w jakimś kursie internetowym. Na 100% zadanie nie brzmiało uproś kogoś aby rozwiązał zadanie za ciebie.

int czy_liczba_calkowita(char arg[])
  {
   char *ptr;
   strtol(arg,&ptr,10);
   return !*ptr;
  }

int jaka_liczba(char arg[])
  {
   return czy_liczba_calkowita(arg)?strtol(arg,NULL,10):0;
  }
0

Dzięki za pomoc. Napisałem coś takiego.

 #include <stdio.h>
#include <string.h>
#include <cstdlib>

int czy_liczba_calkowita(char arg[])
  {
   char *ptr;
   strtol(arg,&ptr,10);
   return !*ptr;
  }
int jaka_liczba(char arg[])
  {
   return czy_liczba_calkowita(arg)?strtol(arg,NULL,10):0;
  }
  
  int main(){
  	
  	char txt[100];
    gets(txt);
  	
  	int a=jaka_liczba(char txt[100]);
  
 	printf("%s",a);
  	
    system("pause");
  	}

Nie wiem czy w ogóle dobrze myśle. Kompilator wywala błąd : [Error] expected primary-expression before 'char'. Nie wiem jak się go pozbyć.

1

Bez przeczytania jakiegoś kursu nie dasz rady.
Ba jednego, może nie wystarczy, bo wywołać gets() - umiesz bo skądś przepisałeś (nawiasem mówiąc za takie użycie gets powinno się karać), zaś jaka_liczba() - już nie umiesz, bo ... no właśnie bo co?

0

Co tu chcesz wyświetlić?

 printf("%s",a); 

o uzyciu gets juz napisano powyżej...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.