Escrever vários nomes e encerrar o programa quando digitar 0

1. Escrever vários nomes e encerrar o programa quando digitar 0

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 23/04/2019 - 14:09h

Saudações amigos (as)!
Estou com uma dúvida que talvez sejá até fácil de ser resolvida, porém já fiz muita coisa e não consegui nada.
Preciso de um programa que ao digitar n nomes encerre ao digitar o 0, porém não entendi como funciona se eu só tenho um vetor para armazenar essa quantidade de nomes.
Se alguém puder ajudar (nem precisa ser o programa, mas que seja um algorítmo que eu possa entender, já seria de grande ajuda), desde já muito obrigado pela atenção!


  


2. Re: Escrever vários nomes e encerrar o programa quando digitar 0

???
gokernel

(usa Linux Mint)

Enviado em 23/04/2019 - 16:51h

Olá caro !

Parece que vc é novo por aqui ...

As coisas por aqui rola assim:
a) Se quer ajuda com código, postar o que vc já tem feito.
b) Depois de postar o código, fazer a pergunta mais especificamente ...OBS: é mais eficiente se perguntar acerca da dúvida mais específica na parte isolada do código.

Nós ficaremos felizes em ajudar ... faça a sua parte, se tivermos tempo ajudaremos !

Sem código não rola. ;)



3. Re: Escrever vários nomes e encerrar o programa quando digitar 0

4. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 23/04/2019 - 17:04h

gokernel escreveu:


Sem código não rola. ;)


Eu não sei se você leu toda a pergunta, mas acredito que algoritmo não é um código e sim passos a serem seguidos.


5. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Matheus
pylm

(usa Gentoo)

Enviado em 23/04/2019 - 17:24h

Define variável nome
Faz um while que fica rodando enquanto nome for diferente de 0 (cuidado com strings e inteiros aqui)
pede input do nome
Profit? Se precisar salvar os nomes tem mais alguma coisa a fazer mas no geral é isso


6. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 23/04/2019 - 17:43h

pylm escreveu:

Define variável nome
Faz um while que fica rodando enquanto nome for diferente de 0 (cuidado com strings e inteiros aqui)
pede input do nome


Com while não vai não, e preciso armazenar em um vetor para depois jogar escolher qual o nome que recebe um valor maior
#include <stdio.h>

int main (void) {
char nome;

while(nome != 0){
scanf("%c", &nome);
}

}





7. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Matheus
pylm

(usa Gentoo)

Enviado em 23/04/2019 - 17:48h

Nerdiarretado escreveu:

pylm escreveu:

Define variável nome
Faz um while que fica rodando enquanto nome for diferente de 0 (cuidado com strings e inteiros aqui)
pede input do nome


Com while não vai não, e preciso armazenar em um vetor para depois jogar escolher qual o nome que recebe um valor maior
#include <stdio.h>

int main (void) {
char nome;

while(nome != 0){
scanf("%c", &nome);
}

}




Mas o nome é uma string, então se você definir que seja diferente de "0" (a string zero) então deve funcionar.
Em python por exemplo fica asism:


cat hmm
nome = ''

while nome != '0':
nome = input('Insira nome: ')




~ 21s
> python3 hmm
Insira nome: pylm
Insira nome: carinha abdu jaba
Insira nome: 0

~ 68s
>



8. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 23/04/2019 - 17:54h

#include <stdio.h>

int main () {
char nome[10];
do
{
scanf("%c", &nome[10]);
} while (nome[10] != '0');

for(int i = 0; i < nome[10]; i++)
{
printf("%c\n", nome[i]);
}
}


Consegui em partes, mas na hora de imprimir os nomes são colocados diversas coisas menos o nome


9. Re: Escrever vários nomes e encerrar o programa quando digitar 0

???
gokernel

(usa Linux Mint)

Enviado em 23/04/2019 - 19:12h

"Nerdiarretado", escreveu:

Eu não sei se você leu toda a pergunta, mas acredito que algoritmo não é um código e sim passos a serem seguidos.


Desculpe-me, errei. ;).

Respondi na correria ainda no trabalho e não percebi direito ... tava usando um smart ...


10. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Paulo
paulo1205

(usa Ubuntu)

Enviado em 23/04/2019 - 21:38h

Em vez de ler caráter a caráter, use uma das formas de ler linhas inteiras, tais como fgets() ou a conversão "%[" de scanf() (com o cuidado de limitar o tamanho máximo da linha), ou pelo menos uma palavra de cada vez, como a conversão "%s" de scanf() (com semelhante cuidado de limitar o tamanho máximo da palavra).

• Documentação de fgets(): http://netbsd.gw.com/cgi-bin/man-cgi?fgets, https://linux.die.net/man/3/fgets
• Documentação de scanf(): http://netbsd.gw.com/cgi-bin/man-cgi?scanf, https://linux.die.net/man/3/scanf


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)


11. Re: Escrever vários nomes e encerrar o programa quando digitar 0

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 24/04/2019 - 10:52h



Irei ler, e partindo daí tento resolver esse problema!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts