Problema con C

di Anonimizzato18612 il
14 risposte
Si scriva un programma che:
a. Definisca un vettore di caratteri e acquisisca una stringa al suo interno
b. Analizzi tale stringa rispondendo alle seguenti domande
i. Quanto è lunga la stringa?
ii. Quanti caratteri sono alfabetici e quanti numerici?
Approfondimento: acquisita una seconda stringa, stabilire se quest’ultima
è inclusa nella prima (ad esempio: “importante” include “porta”)
Ok io ho provato a farlo, dove sabglio? Chi mi aiuto gentilmente? Grazie.
io ho fatto così...

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

#define N 50

int main()
{
char vett[N];
int i, l, numeri, alfab;
numeri=0;
alfab=0;

printf("Inserire stringa: ");
scanf("%s", vett);

l=strlen(vett);
printf("\nLa stringa e' lunga %d caratteri.", l);

for(i=0; i<l; i++)
{
if(isdigit(vett!=0))
numeri++;
else
{
if(isalpha(vett!=0));
alfab++;
}
}

printf("\nI numeri sono %d, le lettere sono %d", numeri, alfab);

return 0;
}

14 Risposte

  • Perché dici "dove sbaglio"?

    Quale problema hai? Descrivi errori o malfunzionamenti ...
  • Io ho l'ho scritto così, solo che sul programma mi da errore, dove sbaglio?
  • Mi dà errore che vuol dire???
  • graffiti93 ha scritto:


    if(isalpha(vett!=0));


    Con uno sguardo veloce...questo punto e virgola non deve esserci...
  • In realtà il problema sono le due if ma speravo potesse imparare a descrivere i problemi di codice ... almeno quello.
  • Oregon se ero un fenomeno, non scrivevo qui, non credi? Se ho scritto qui e perchè ho bisogno di aiuto, tutto qui.
  • Non ho detto che devi essere un fenomeno, né che devi sapere dove sta il problema, ma SOLO che devi saper dire cosa non va.

    Tu esegui il programma

    cosa scrivi ?

    che risultati hai?

    Da questo si vede qual è il problema.
  • Ho eseguito il programma, solo che mi da errore in alcuno punti tipo nell'if...
  • Ed anche nel for...
  • A me non dà errori né nelle if né nel for. Le if sono sbagliate ma non danno errori, danno solo risultati sbagliati.

    Prova a fare dei copia-incolla dei messaggi d'errore o mostra una schermata.
  • Ho sbagliato qualcosa nel procedimento? Cosa c'è di sbagliato nelle If?
  • Esamina le due if ...

    if(isdigit(vett!=0))

    if(isalpha(vett!=0));

    e riflettici un attimo.
  • Ok appena riesco ti posto quello che sono riuscito a fare, intanto ti ringrazio...
Devi accedere o registrarti per scrivere nel forum
14 risposte