Ti propongo una soluzione molto base (dovrebbe essere corretta, l'editor codice mi ha tagliato alcuni caratteri), non ci sono controlli su cosa immette l'utente e potrebbe essere ottimizzato in diversi modi.
Per alcune variazioni su toUpper
Advice on creating a toupper function fo - C++ Forum (cplusplus.com)
c - How this custom toupper() function works? - Stack Overflow
HEADER (myHeader.h)
void StampaNumeriDispari(int n);
void toUpper(char *testo);
FILE .C (myCfile.c) Versione 1, tramite funzione già esistente nella libreria ctype
#include<ctype.h>
#include
#include
#inlcude "myHeader.h"
void toUpper(char *testo){
char ch;
int i=0;
while(testo[i]){
ch = testo[i];
putchar(toupper(ch));
j++;
}
}
void StampaNumeriDispari(int n){
printf("I numeri dispari compresi tra 1 ed %d sono:\n",n);
for(int i=1;i <=n;i++) {
if(i%2 !=0)
printf("%d \n",i);
}
}
FILE.C (myCfile.c) versione 2
#include <string.h>
#include
#include
#include "myHeader.h"
void toUpper(char* testo){
int i;
int len = strlen(testo);
char testo1 [len];
for( i = 0; testo[i]; i++) {
if(testo[i] >= 'a' && testo[i] <= 'z') {
testo1[i] = testo[i] - 32;
}
else{
testo1[i] = testo[i];
}
}//for
printf("Stringa convertita: %s\n", testo1);
}
void StampNumeriDispari(int n){
printf("I numeri dispari compresi tra 1 ed %d sono:\n",n);
for(int i=1;i <=n;i++) {
if(i%2 !=0)
printf("%d \n",i);
}
}
MAIN (main.c)
include
include "myHeader.h"
int main (void){
toUpper("TeSt342");
StampaNumeriDispari(14);
return 0;
}