Uppercase con puntatori a stringhe

di il
5 risposte

Uppercase con puntatori a stringhe

Ciao a tutti sono sicuro di sbagliare qualcosa di fondamentale in questo programma mi servirebbe un aiuto grazie a tutti

#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
    char s[100];
    cout<<"scrivi una stringa\n";
    cin.getline(s,100);
    int i=0;
    while(i<strlen(s)-1){
        cout<<uppercasepuntatore(*s);
        i++;
        *s++;
    }
}
void uppercasepuntatore(char *x){
 if(x>='a'&&x<='z')x-=32;
}
praticamente voglio fare la stessa cosa del seguente programma senza utilizzare le "parentesi quadre

#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
    char string[100];
    scanf ("%s",string);
        uppercase(string);
}
void uppercase(char x){
    for(int i=0;string[i]!='\0';i++){
        if(string[i]>='a'&&string[i]<='z')string[i]-=32;
            cout<<string[i];
    }
}
Grazie a tutti in anticipo

5 Risposte

  • Re: Uppercase con puntatori a stringhe

    Ci sono un po' di errori, guarda qui
    
    void uppercasepuntatore(char *x) {
    	if (*x >= 'a'&& *x <= 'z') *x -= 32;
    }
    
    int main() {
    	char s[100];
    	cout << "scrivi una stringa\n";
    	cin.getline(s, 100);
    	int i = 0;
    	while (i<strlen(s)) {
    		uppercasepuntatore(s+i);
    		i++;
    	}
    
    	cout << s << endl;
    
    	return 0;
    }
    
  • Re: Uppercase con puntatori a stringhe

    Ma così facendo stampa direttamente tutta la stringa ?cioè tramite il metodo uppercasepuntatore modifico ciò che è all'interno degli indirizzi di memoria giusto?
    uppercasepuntatore(s+i);a cosa serve s+i? i indica il puntatore?
    grazie mille per le risposte e scusa per la mia confusione
  • Re: Uppercase con puntatori a stringhe

    rozer ha scritto:


    Ma così facendo stampa direttamente tutta la stringa ?cioè tramite il metodo uppercasepuntatore modifico ciò che è all'interno degli indirizzi di memoria giusto?
    Sì, uppercasepuntatore non lo puoi usare con la cout perché è di tipo void.
    uppercasepuntatore(s+i);a cosa serve s+i? i indica il puntatore?
    s+i è l'equivalente di s
  • Re: Uppercase con puntatori a stringhe

    Grazie mille ora ho capito il tutto in maniera adeguata grazie mille ......mi avevi già risposto in passato.Ti faccio una domanda a cui puoi anche non rispondere ma programmi per passione o fai un lavoro legato all'informatica?
  • Re: Uppercase con puntatori a stringhe

    Lavoro nel settore dell'informatica da 30 anni.
Devi accedere o registrarti per scrivere nel forum
5 risposte