Ir para conteúdo
Fórum Script Brasil

vangodp

Membros
  • Total de itens

    883
  • Registro em

  • Última visita

Posts postados por vangodp

  1. para comparar um string você deve usar a função strcmp("primeira cadeia", "segunda cadeia"); Como se faz? Fácil!

    if ( strcmp( variavel, "teste" ) == 0 ){

    //são iguais

    }else{

    //são diferentes

    }

    Para representar uma cadeia de caracteres use "aspas duplas" em vez de de 'aspa simples' que se usa para representar apenas uma letra, um exemplo é 'a'.

    A função strcmp() retorna un valor menor, igual ou maior, si a primeira cadeia é respectivamente menor, igual ou menor que a segunda cadeia.

    Para ler um string, não devemos por o operador referencia '&' adiante do string como fazemos com inteiros, chars e outros tipos de dados, o que o scanf quer saber é onde ele tem que começar escrever, então a efeitos, 'variável' tem o mesmo efeito que &variavel[0], troque scanf("%s" &variavel) por scanf("%s" variavel) sem &. ;)

  2. herança permite que por exemplo nos temos uma ou varias classes para representar coisas como roda, motor, porta etc etc, e nós juntamos tudo isso para formar uma classe chamada carro, ou seja a classe carro recebe de herança motor, porta e roda para formar um carro.

    Sobre o private o public é um pouco difícil de explicar em poucas linhas, más a finalidade do private é a de impedir o acesso desde fora da classe, e o public é a de permitir. Por que isso? Pense em uma radio... você tem acesso ao circuito dela? Não! Somente podemos ter acesso ao botoes e tudo aquilo que o engenheiro o sei la o que quis que você tivesse acesso, bem por sua segurança ou a do aparato já que normalmente não compreendemos como funciona.

    Si pensamos em uma classe radio ela pode receber de herança varias outras classes como chips, capacitores, resistores, cabos, carcaça, botoes.... A parte privada seria o que o radio tem por dentro(não temos acesso), e a parte publica seriam os botoes(a ela sim temos acesso). Parece que estamos pondo travas a programação, porem não é assim, é prevenir o correto funcionamento da nossa classe permitir ou negar o acesso a certas partes da mesma.

    Si estiver interessado em uma explicação melhor pode me adicionar no skype e te posso explicar melhor o tema conforme suas duvidas, si não busque material online e exemplos.

    Sorte

    E por certo, lá no skype me chamo igual. ;) Fui!

  3. Em consola é justo quando fazemos gcc main.c -o arquivo.exe. Isso chama o compilador processar main.c e gerar o arquivo.exe.

    Si estiver usando IDEs, vai sair com o mesmo nome do arquivo.c, ou seja, vai se chamar arquivo.exe por que o arquivo principal se chama arquivo.c.

    Não sei si foi bem isso o que você perguntou... :wacko:

  4. vamos lá kk

    1- Não se pode usar cedilha float preço;, mude isso para valor ou preco sem cedilha. Dentro da estrutura claro, linha 7. Arrumar todas as variáveis afetadas.

    2- Na linha 24 você tenta ler um array de chars (também chamado c_string ou simplesmente string. Olho! Não tem nada que ver com string de c++, o string de c++ é uma classe, c não possui classes. valeu?). O problema é que na linha 20 que é onde você declara essa variável, você declara ela como char. E pergunto... É um string verdade? Si for um string, mesmo porque esta tentando ler com o modificador %s na linha 24, não devemos por & adiante do string, então troque scanf ("%s", &string1); por scanf ("%s", string1);. E por suposto na linha 20 você tem que trocar o char string1; por char string1[100];, pois o primeiro só podemos guardar uma letra, e com char string1[100]; podemos guardar 100 letras. para ler isso como disse antes scanf ("%s", string1); sem &. O operador & somente colocamos ele em inteiros, flotantes, doubles, chars, etc... Não pomos ele no scanf quando vamos ler um c_string nem quando vamos ler ponteiros, pois ele é muito semelhante aos ponteiros. Leia más sobre arrays de chars para entender melhor.

    3- Linha 26. Nessa linha você tenta comparar posicao com 0, porem posicao é do tipo char, e a comparação correta é posicao == '0', si posicao fosse um inteiro então estaria correto. Check a linha 21.

    De igual modo posicao, declarado na linha 21, e que ganha o valor na linha 25 que é retornado pela função procurarNumeroserie (...), essa função retorna um int, e como falei a variável declarada na linha 21 é tipo char. Conclusão, um grande erro, acho que seria melhor trocar o tipo de char para int ou fazer que tudo seja coerente.

    4- linha 30. Como falei que string1 não é um string, si não que é um char, nessa linha, (strcpy (produtos[*contadorProdutos].numeroserie, string1);) nem produtos[*contadorProdutos].numeroserie nem string1 são strings, si você for a sua estrutura na linha 5 stProduto char numeroserie; não é um string e sim um char.

    5- Linha 38 mesmo erro, você acha que esta tratando um c_string e esta tratando um char.

    Nem vou olhar mais nada, todos os erros são por que você não sabe a diferença entre char letra e char grupodeLetras[ ].

    Está seguro que você aprendeu arrays??? Arrays não são a mesma coisa que variáveis simples.

    Tente arrumar isso e si não conseguir volte.

    muita sorte e paciência.

  5. o unico erro que vejo é na hora de ler o nome na linha 62 mais ou menos. trocar scanf("%[^\n]",&p.nome); por scanf("%[^\n]",p.nome);. você esta lendo um string e não um int, float, ou char por botar exemplos.

    O próprio nome de um array é considerado um ponteiro, e quando lemos ponteiro não pomos o operador de indireção(&) adiante da variável. Não se esqueça que um array é um conjunto de chars de forma consecutiva na memoria que é acessível somente através um ponteiro, esse ponteiro inicia sempre apontando a primeira letra do nosso string ou seja p.nome[0]. Para ter uma ideia isso scanf("%[^\n]",p.nome); é a mesca coisa que isso scanf("%[^\n]",&p.nome[0]);, scanf quer saber apartir de que letra tem que começar, podemos começar pelo meio, tipo scanf("%[^\n]",&p.nome[100]);, ou pelo inicio scanf("%[^\n]",&p.nome[0]);, que é a mesma coisa que scanf("%[^\n]",p.nome). Espero que seja entendível a explicação.

    Então sabendo o anterior um exemplo é char palavra[100]; o próprio nome palavra é considerado um ponteiro, é como si fosse possível fazer:

    char palavra[100];

    char *palavra = &palavra[0];

    É lógico que isso não existe pois não é possível fazer isso, vai dar erro, más esse é o efeito que tem char palavra[100];.

    Sorte Valeria da Bahia. =)

  6. Vamos la outra vez... xwacko.png.pagespeed.ic.jGW10VtQsIphkhOF.
    Entendo que uses devC++ pelo fácil que pode "parecer", porem quanto antes abandoná-lo melhor vai ser. É só uma opinião, você pode continuar com ele e quebrar muitas vezes a cabeça si quiser. kkk

    Qual a versão exata do devcpp? Não será a 4.9. algo... não? Si for essa, melhor usar devC++ Orwell.... melhor mesmo é não usar esse IDE, más si não quiser abandoná-lo use essa versão pelo menos(orwell).

    você está tendo problemas de permissão conforme os avisos, você não tem direitos de abrir esse arquivo, realmente não é um problema do código.

    Porem.... Não use conio nunca mais na sua vida!!! Ele não é padrão do C++ nem do C, você só esta utilizando ele para pausar o programa antes de fechar, em vez de isso use getchar() ou um scanf("%*c"), tem o mesmo efeito. É um absurdo você adicionar uma livraria inteira só para pausar o programa. kkkk

    Solução:

    #include <stdio.h> 
    //#include <conio.h>  // <-lixo kkkk 
    int main()
    {
    	float nota1,nota2,calc_media; 
    	nota1 = 5;
    	nota2 = 7;
    	calc_media = (nota1 + nota2) / 2;
    	printf ("A media = %f",calc_media);
    	getchar(); // getchar() ou scanf("%*c") ;) pode por 2vezes si não pausar, ambos já estão dentro de stdio.h e não faz falta conio.h nunca.
    	return 0;
    }
    

    Tente usar codeblocks... é imensamente melhor. :ninja:

    Si con tudo isso não funcionou prove desativar o antivírus, o problema pode ser como disse Barao.

    Sorte! ;)

  7. ...depois de estar aprendendo html, mysql e P.O.O que o c++ possui class e objeto...

    WTF! No intendi nada jajaja

    ...poderia me adar um caminho para que eu estude essa tecnologia dentro do c++?...

    Claro... Compre um bom livro. Ou use o Google em busca de tutoriais ou cursos.

  8. erro realmente não tem... O sim? kkk

    Não! Porem depende como interpretamos ele. Si a entrada tinha que ser "1234\n", e depois de pulsar o enter deveria imprimir:

    1

    2

    3

    4

    .... você falhou. Conforme esse scanf, a entrada correta dos dados seriam "1 2 3 4\n", note que tem espaços entre os números no scanf "%d %d %d %d". Si pulsar 1234 e o enter nem sei que vai acontecer. kkkk

    Si o que você anda buscando é entrar com o numero "1234\n", o \n (é a tecla enter) e a saída seja:

    1

    2

    3

    4

    ..esse é o seu programa:

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(){
        int n1, n2, n3, n4;
        printf("Digite o numero: ");
        scanf("%1d%1d%1d%1d%*c", &n1, &n2, &n3, &n4);
        printf("%d\n %d\n %d\n %d\n", n1, n2, n3, n4);
        
        system("pause");
        return 0;
     
    }
    

    Si quiser aprender mais sobre o scanf pode me buscar no skype e posso lhe explicar com muito mais detalhe. Sorte.. Ah! la me chamo igual. XD

  9. Para adicionar uma forma mais, a ver si advinham porque esse sistema funciona XDDD

    #include <stdio.h>
    
    int main (){
        
        char c1;
        char c2;
        
        printf("escreva uma letra e aperte enter: ");
        scanf("%c", &c1);
        printf("escreva outra letra e aperte enter: ");
        scanf(" %c", &c2);    
        
        printf("C1: %c\n", c1);
        printf("C2: %c", c2);    
        
        getchar();
        return 0;
    }
    
  10. A questão é...como é que eu limito o NOME ate 30 carateres?
    Como eu limito o EAN entre 8-13 carateres?

    http://www.cplusplus.com/reference/ios/ios_base/width/

    E já agora como eu de um numero escolho o nº de casa decimais a mostrar, ou seja, por eg. do numero 1.286448, so quero mostrar 1.28.

    http://www.cplusplus...base/precision/

    Aqui tem bastante informação sobre formato com cout:

    http://www.cplusplus...stream/ostream/

    ..na parte que esta marcado como Formatting

  11. std::cout.precision(x); donde x seria o mesmo que o 2 de %.2f, ou 
    seja std::cout.precision(2); logo em seguida voce faz o cout com o 
    float. Tenha em conta que cout é uma classe, e nessa classe tem muitos 
    metodos uteis, é só por um ponto logo depois do cout e si seu IDE for mais ou menos bom
    vai sair a ajuda com as funções membros de cout.
    

    mais info:

    http://www.cplusplus.com/reference/ios/ios_base/precision/

    Aqui tem bastante informação sobre formato com cout:

    http://www.cplusplus.com/reference/ostream/ostream/

    ..na parte que esta marcado como Formatting

  12. idade é uma matriz int idade[SIZE][20]; de 200x20

    Não entendo bem qual sua logica, mas da para entender ou que você tem 200 pessoas, que cada uma de essas 200 pessoas tem 20 idades, ou você tem 20 pessoas que tem cada uma 200 idades, é incompreendível sua logica.

    Então o correto seria comparar nesse caso if(idade[i][de 0 a 19] == pesquisaidade) por que idade é uma matriz e não um vetor. si quer comparar if(idade[i] == pesquisaidade) idade deveria estar declarado como un vetor de inteiros: int idade[SIZE], nesse caso seria 200 inteiros, e não 200x20.

  13. Existem muitas formas de fazer isso:

    Aqui deixo uma simples base para que tenha uma noção:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct Estrutura {
        char foo[100];
        int bar;
    } umaEstrutura;
    typedef struct Estrutura vetor[100];
    
    //funçao que limpa o buffer
    void flush_in() {
        int ch;
        while ( ( ch = fgetc ( stdin ) ) != EOF && ch != '\n' ) {}
    }
    
    //funçao que abre o arquivo, e si nao for possivel mostra qual foi o erro, funciona igual que fopen
    FILE* fileOpen( char* name, char* mode){
        FILE* file = fopen( name, mode);
        if ( file == NULL ){
            perror("Erro: ");
            exit(1);
        }
        return file;
    }
    
    //essa funçao salva um a um os dados ao arquivo
    void salvarDatos( FILE* arquivo, struct Estrutura* e ){
        fprintf(arquivo,"%s;%d\n",e->foo, e->bar);
    } 
    
    int main () {
        FILE* arquivo = fileOpen("Arquivo de provas.txt", "w"); //Por que abrimos primeiro? Por que nao faz sentido ler dados si nao temos um arquivo aberto, simples! =D
        
        vetor v = {0}; // v é um vetor de 100 posiçoes que esta todo iniciado a nulos
        int contador = 0;  // esse contador server para saber quantos registromes temos efetuado, no maximo só pode ser 100, de v[0] a v[99]
        int i = 0;
        char op;
        
        do{ printf( "Escreva uma palavra para foo maximo 100 letras: ");
            scanf("%99s", v[contador].foo); //si a capacidade de foo é de 100 letras só podemos ler 99 ja que a ultima é o nulo e nao devemos usara ultima posiçao, si escrevemos mais de 100 letras o restante fica no buffer, a funçao flush_in se encarga de eliminar a "sobra", resultado é uma leitura segura a prova de transbordamentos de buffer.
            flush_in();
            printf( "Escreva um volor inteiro: ");
            scanf("%d%*c", &v[contador].bar);
            
            //depois de leer uma estrutura devemos incrementar o contador
            contador++;
            
            printf ( "Deseja gravar mais alguma NF: " );
            scanf ( "%c%*c", &op ); // %*c evita que al pulsar a tecla enter, essa mesma tecla vaia parar no buffer(Leitura segura). 
            //repetimos até um maximo de 100 vezes
        } while ( (op == 'S' || op == 's') && contador <= 100 );
        
        //agora porcedemos a guardar...
        for ( i = 0; i<contador; i++ ){
            salvarDatos(arquivo, &v[i]);
        }
        
        //terminado salvamos arquivo
        fclose(arquivo);
        getchar();
        return 0;
    }
    

    Si tiver duvidar pergunte, com isso você pode adaptar seu código a esse modelo.

  14. si é C++ pode fazer assim diretamente com strings, porem si for vetor de chars use a funçao strcmp( palavra1, palavra2 ) sendo ambas(palavra1 e palavra2) vetores de char estilo C como char palavra[100]="Alo";

    Agora bem, como funciona isso?

    A função strcmp() analisa letra a letra comparando as 2 primeiras letras de cada palavra para ver si a primeira letra da palavra1 é igual a primeira palavra 2, si nesse caso for igual simplesmente passa se a comparar a segunda letra da palavra1, com a segunda letra da palavra2, si a primeira letra da palavra1 é menor que a primeira letra da palavra2 a função retorna um -1 que indica que a palavra1 é menor que a palavra2, e se o caso for o contrario, ou seja que a primeira letra da palavra1 for maior que a primeira letra da palavra2 então nesse caso retorna 1, o que quer dizer que a palavra1 é maior que a palavra2. Vamos ver alguns casos.

    char p1[100] = "Alo";

    char p2[100] = "Alo";

    printf("%d", strcmp(p1,p2));

    Bem si olhamos esse printf que você acha que vai imprimir, -1, 0 ou 1?

    vamos ver... imaginamos que estamos comparando letra a letra ambas palavras, imaginamos que a letra que estiver envolvida entre[] de uma palavra nós estamos comparando com a letra que esteja envolvida com [] em outra palavra ou seja temos 2 palavra "alo" e "mundo", então comparamos "[a]lo" com "[m]undo" ou seja 'a' com 'm'. são iguais, ou 'a' é menor o maior que 'm'? Si são iguais não aconteceria nada, passamos a analisar as segundas letras de cada palavra, porem nesse caso claramente 'a' é menor que 'm', então a função já encontrou diferença e é que 'a' é menor que 'm' sendo que "alo" é uma palavra menor que "mundo", nesse caso a função retorna -1. acho que já da para ter uma ideia de como funciona.

    Vamos ver outro exemplo, agora temos 2 vetores de char p1 e p2 e imaginamos que os 2 são iguais, p1="alo" e p2="alo" também, então seria strcmp(p1, p2) que é a mesma coisa que strcmp("alo", "alo");

    Que acontece é compara a primeira letra de p1"[a]lo" com a primeira letra de p2"[a]lo", como a função vai ver que são iguais não acontece nada, simplesmente a função passa a analisar a as 2 segundas letras de cada palavra ou seja a letra 'l' de p1 com a letra 'l' de p2, e nesse caso vai acontecer a mesma coisa, ou seja nada, passamos a 3º letra de ambas palavras e vai acontecer a mesma coisa, como chegamos ao final de una o ambas palavras e não tem mais nada para analisar a função retorna 0 que indica que são iguais.

    que acontece si analisamos "alimento" com "alinhamento"? strcmp irá comparando letra a letra de ambas palavras até encontrar uma diferença, ou até que uma das palavras terminassem antes ou juntas, nesse caso compararia 'a' com 'a', 'l' com 'l', 'i' com 'i', 'm' com 'n' e então já tem diferença, 'm' é menor que 'n' retorna -1, caso fosse contrario retornava 1. Fácil não?

    agora vamos ver exemplos com menos detalhes.

    bicicleta

    bíceps

    //erro strcmp não esta preparado para letras com acento

    bicicleta

    bisturi

    // a letra 3ª letra da 1ªpalavra('c') é menor que a 3ª letra da 2ª palavra('s') retorna -1

    relojo

    rato

    // a 2º letra da 1ª palavra é maior que a 2ª letra da 2ª palavra, nesse caso retorna 1.

    e no seguinte caso:

    certa

    certamente

    //?? claramente a primeira palavra é menor então retorna -1. Como depois de certa não existe nada mais porem certamente sim continua da 'm' adiante, então si sabemos que um vetor termina em null em C '\0' é menor que 'm' fim do conto.

    agora para comparar sua palavra seria if ( strcmp( palavra, palpite) == 0 ) si ambas palavras fossem iguais, if ( strcmp( palavra, palpite) != 0 ) si fossem diferentes, if ( strcmp( palavra, palpite) == -1 ) si encontramos uma letra menor, antes na primeira palavra que na segunda indicando que a primeira palavra é menor, e finalmente if ( strcmp( palavra, palpite) == 1 ) que indica que a segunda pala é maior que encontraria primeiro uma letra maior na primeira palavra que na segunda. Depende do que você quer fazer claro, porem esses são os 4 casos que se podem dar.

    Para más informação: http://www.cplusplus.com/reference/cstring/strcmp/

    simplesmente recorde que strcmp compara letra a letra até o final de ambas palavras, si são iguais retorna 0, si atingimos uma letra menor na primeira palavra que na segunda retorna -1 e si atingimos uma letra maior na primeira que na segunda retorna 1. Essa é a regra que temos que recordar, assim é como trabalha strcmp(). Se pode dizer que si a palavra da esquerda é menor que a da direita retorna -1, si são iguais retorna 0, e si a palavra da direita é maior retorna 1, porem não é assim como strcmp trabalha, é uma forma errônea de pensar já que o programa analisa sempre a primeira palavra em relação com a segunda, letra a letra, e tudo vai depender si encontra uma letra maior, igual o menor na primeira palavra, porem funciona também.

    Outra coisa a ter claro é que as funções recebem e retornam valores, aprenda a jogar com esses valores de retorno e serás capaz de montar autênticos programas super uteis. Não precisa recordar tudo de cabeça, só lembre que as funções retornam coisas, e si você tiver claro para que serve uma função, é só buscar ela no Google que te vai sair sempre essa pagina chamada cplusplus.com que te diz como funciona uma função, que retorna etc etc, com só por no Google "strcmp".

    Cabe destacar que para saber os valores de si uma letra é maior menor ou igual a outra, devemos buscar na tabela Asc2.

    Si tiver duvidas al menos diga que quer saber de ambos vetores que palavras guardam cada um deles, e si você quiser saber si são iguais, diferentes, maior ou menor.

    Sorte

  15. Ainda com sua aportaçao fica difícil para mim, sinto muito mais não entendi nada.

    você tem 2 exercícios e deve descrever passo a passo que quer fazer.

    No seu exemplo:

    Os 20 times participantes são:
    1 São Paulo 0 2 Atlético-PR 0 3 Sport 0 4 Corinthians 0 5 Ponte Preta 0 6 Atlético-MG 0 7 Grêmio 0 8 Fluminense 0 9 Avaí 0 10 Cruzeiro 0 11 Internacional 3 12 Chapecoense 1 13 Palmeiras 1 14 Goiás 1 15 Figueirense 0 16 Flamengo 0 17 Santos 0 18 Coritiba 0 19 Vasco 0 20 Joinville 0

    você disse que os times comtem o seguinte formato: 1 São Paulo 0,... Deu para entender que time1 de nome são paulo tem 0 pontos. Porem como vai ser 0, 1 ou 3 pontos si temos até 38 rodadas? Esta muito mal explicado, continuamos igual, ou eu presto atenção no que você me diz ou no que se esta pedindo no seu trabalho, mas ambos estão ao menos para mim incompreensíveis, sinto muito mais assim não posso fazer muito.

    explique os passos a seguir no programa por que sessa forma não sou capaz. Não se esqueça que são 2 programas, explique os dois.

    Que tipo de dados tem que ser usados, memoria dinâmica, estruturas, etc?

  16. A ver si te serve esse. sobre as reservas de passagens.

    // Desenvolva um programa para realizar a reserva 
    //de assentos em um avião de uma companhia aérea.
    #include <stdio.h>
    #include <stdlib.h>
    #include <ctype.h>
    
    void imprimir( int a[][6] ){
        system( "cls" );
        int i, z;
        printf ( "     A  B    C  D    E  F\n==========================\n" );
        for ( i = 0; i < 30; i++ ){
            printf ( "%02d) ", i+1 );
            for ( z = 0; z < 2; z++ ){printf( "[%d]", a[i][z] );}printf( "  " );
            for (      ; z < 4; z++ ){printf( "[%d]", a[i][z] );}printf( "  " );
            for (      ; z < 6; z++ ){printf( "[%d]", a[i][z] );}printf( "\n");                
        }
        printf("\n");
    }
    
    int main (){
        int letra = 0;
        int numero = 0;
        //Considere que um avião tem 30 fileiras contendo 6 assentos em cada fileira. Represente o 
        //conjunto de assentos como uma matriz
        int bancos[30][6] = {0}; // Inicialmente a matriz deverá conter zero em todas as
                                 //posições, indicando que todos os lugares estão disponíveis.
        bancos[10-1/*10*/][0/*A*/] = 1; //estabelecemos um banco como ocupado para provar si o programa avisa em caso o banco esteja ocupado. Corresponde ao banco A10.
        
        int continuar = 1;
        int opcao = 0;
        while ( continuar == 1 ){
            imprimir(bancos);
            //Peça ao usuário para escolher o lugar que ele quer reservar.
            printf( "Escolha 1 para reservar acento ou 0 para sair." );
            scanf ("%d%*c", &opcao);
            
            switch(opcao){
                case 1:
                    printf( "Escolha um banco. Exemplo A10: ");
                    scanf( "%1c%2d%*c", &letra, &numero );
                    numero--;
                    letra = toupper(letra);
                    letra = letra - 65; //transforma letra en numero conforma a tabela asc2
                                        //Si o usuario escolher o banco A10, a letra 'A' na tabela vale 65, entao 
                                        //para tranformar 65 em 0 é só restar 65 kkk, si escolhemos letra 'B', 
                                        //ela vale 66 na tabela, si restamos 65 ficamos com 1 e assim 
                                        //sucesivamente. Com isso obtenho o banco que é de 0 a 5 ja que sao 6 bancos.    
                    
                    //comprovamos si o usuario escolheu uma opçao valida por segurança
                    if ( (( letra<0 || letra>5  ) || ( numero < 0 || numero > 29 )) ){
                        system( "cls" );
                        printf("Esse banco nao existe. Vc quer voar encima da asa? Pulse uma tecla para continuar...\n");
                        getchar();
                    }
                    
                    //Se o lugar já estiver ocupado, exiba uma mensagem de alerta para 
                    //o usuário e peça para ele escolher outro lugar.
                    if ( bancos[numero][letra] == 1 ){
                        system("cls");
                        printf("Banco ocupado! "); // si banco esta ocupado mostramos aviso e voltamos ao principio para reservar um banco, nada acontece.
                        getchar();
                    }else{
                        //Se o lugar estiver disponível coloque 1 nessa posição da matriz para indicar
                        //que o lugar a partir de agora encontra-se ocupado
                        bancos[numero][letra] = 1;    
                    }
                    break;
                case 0:
                    system("cls");
                    continuar = 0;
                    break;
                default:
                    break;
            }
    
        }
    
        return 0;
    }
    

    Sobre os exercícios 4 e 5 acho que são muito confusos, não entendi muito bem o exercício e não entendo nada de futebol.

    E uma coisa mais... A ver si estudamos mais é. kkk :lol:

    4.) Digite quantos pontos cada time da Série A obteve em cada rodada do Campeonato Brasileiro2015....

    Não especificas quantas rodadas são, nem todos aqui sabemos de futebol como bem comentei antes.

    Ao término da digitação informe qual time foi o campeão, quais os classificados para a
    
    Libertadores e quais os rebaixados para a Série B. Os 20 times da Série A podem ser armazenados
    
    em um vetor preenchido no próprio código do programa....

    A ver si aclaramos... Como vou digitar si logo depois disse que podemos guardar isso dentro do programa. Não entendo esse ponto :mellow:


    Peça para o usuário digitar o número de
    
    rodadas e a pontuação de cada time em cada rodada.

    Si o numero de rodadas pode variar então é memoria dinâmica???

    nem vou comentar o 5 por que nem passei do 4, isso ta muito mal explicado.

    Relatar bem a sua duvida pode agilizar sua ajuda, tome nota. Deixe ideias ou qualquer adianto que você tenha feito.

    Os fóruns não estão para fazer seus deveres e sim para tirar duvidas concretas que você possa ter.

    sorte

  17. #include <stdio.h>
    #include <time.h>
    
    int main( void )
    {
       long int i=0;
       time_t inicio, final;
       inicio = time( NULL );
       printf( "Inicio: %u s\n\n", inicio );
    
       //ponha aqui seu codigo a medir
       
       final = time( NULL );
       printf( "\nFinal: %u s\n", final );
       printf( "segundos transcurridos desde o inicio: %.2f s\n", difftime(final, inicio) );
    
       return 0;
    }
    
  18. No Google tem muitos exemplos. Aqui nesse mesmo fórum já foi mencionado

    #include <stdio.h>
    
    int inverte ( int num ) {
        int num_inv = 0;
        
        while ( num > 0 ) {
            num_inv = num_inv * 10 + num % 10;
            num /= 10;
        }
        
        return num_inv;
    }
    
    int main() {
        int numero;
        scanf ( "%d", &numero );
        printf ( "\n%d - %d\n", numero, inverte ( numero ) );
        return 0;
    }
    

    Tenta entender ele antes de usar ou nunca aprenderás ;)

  19. qual sua duvida? Basicamente existem muitas formas de fazer isso, uma delas é por um getchar() dentro da condição de um while que vai lendo até encontrar o '$', depois faça o trabalho restante de converter em maiúsculas. você não especificou si se pode ou não usar funções como toupper() para converter em maiúsculas ou si tem que ser feito a mão o trabalho.

    Também não especificou si é C ou C++.

×
×
  • Criar Novo...