Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyswietlacz jezyk c

Ostatnio zmodyfikowano 2014-05-21 23:13
Autor Wiadomość
adrian1214-1993
Temat założony przez niniejszego użytkownika
Wyswietlacz jezyk c
» 2014-05-21 21:17:10

include<stdio.h>
define MAX 7

void wyswietl(char t[])
{
    int i,j;
    for(i=0;i<3;i++)
    {
       
        for(j=0;j<7;j++)
        {
            if(i==0)
            {
                if(t[j]==1 || t[j]==4)    printf("    ");
                else printf(" _  ");
            }
            if(i==1)
            {
                if(t[j]==0) printf ("| | ");
                if(t[j]==1 || t[j]==7) printf("  | ");
                if(t[j]==2 || t[j]==3) printf(" _| ");
                if(t[j]==4 || t[j]==8 || t[j]==9) printf("|_| ");
                if(t[j]==5 || t[j]==6) printf("|_  ");                               
            }
            if(i==2)
            {
                if(t[j]==1 || t[j]==7 || t[j]==4) printf("  | ");
                if(t[j]==5 || t[j]==9 || t[j]==3) printf(" _| ");
                if(t[j]==6 || t[j]==8 || t[j]==0) printf("|_| ");
                if(t[j]==2) printf ("|_  ");
            }
        }
        printf("\n");
    }
}



int main()
{
    char tab[MAX];
    int count;
    char s;
    while((s = getchar()) && s != '\n'){
        tab[count] = s;
        count++;
    }
    for(int i=0; i<MAX; i++){
        printf("tab[%d]=%c\n", i, tab);
    }
    wyswietl(tab);   
    return 0;
   
}


Mam problem z tym programem. Program ma pobierać cyfry do tablicy i wyświetlać je na wyświetlaczu.
Wydaje mi sie ze tablica jest dobrze uzupelniona bo jak ją wyswietlam to jest ok, ale gdy przekaze ja do funkcji "wyswietl" to funkcja wyswietla kreski. Wcześniej sprawdzałem dla tablicy zadeklarowanej i od razu uzupełnionej i funkcja "wyswietl" działa poprawnie.
P-110597
Monika90
» 2014-05-21 21:30:01
Zmienna count nie jest zainicjalizowana, a do tablicy zapisywane są kody znaków, a nie wartości cyfr. Musisz też pzekazywać wartosć count do funkcji, bo inaczej skąd będzie ona wiedzieć ile znaków jest w tablicy?
P-110601
adrian1214-1993
Temat założony przez niniejszego użytkownika
» 2014-05-21 21:33:39
i tak jak ja zainicjuje to i tak to nic nie daje. A mogłabyś mi napisać jak ma wygladac funkcja main()?
P-110602
Monika90
» 2014-05-21 22:10:20
Takie coś najlepiej pisać w C++
C/C++
#include <cstdio>
#include <string>

void seven_segment_display( std::string number )
{
    auto row =[ & ]( auto r )
    {
        for( char ch: number )
             std::printf( "%.3s ", r +( ch - '0' ) * 3 );
       
        std::putchar( '\n' );
    };
    row( " _     _  _     _  _  _  _  _ " );
    row( "| |  | _| _||_||_ |_   ||_||_|" );
    row( "|_|  ||_  _|  | _||_|  ||_| _|" );
}

int main()
{
    seven_segment_display( "1920385764" );
}
P-110605
adrian1214-1993
Temat założony przez niniejszego użytkownika
» 2014-05-21 22:11:15
Niech ktoś w koncu mi pomoże bo naprawde nie wiem co zmienić w tym programie aby prawidlowo działał.
Ale to jest projekt który musi być zrobiony w jezyku c. Ten napisany przez ciebie program w C++ wogóle nie chce się kompilować wyskakuje bład.
P-110606
Monika90
» 2014-05-21 22:25:07
błąd w moim programie? tutaj działa: http:/​/coliru.stacked-crooked.com/a​/ef960ddb0414766a

gcc 4.9 też nie ma problemu
P-110609
adrian1214-1993
Temat założony przez niniejszego użytkownika
» 2014-05-21 22:30:54
Monika90 nie napisałaś byś mi tej funkcji w jezyku c. Ideą tej fukcji ma byc to ze ma pobierac cyfry od uzytkownika i wyswietlic je na wyswietlaczu. 
P-110610
MrPoxipol
» 2014-05-21 23:13:00
Na forum jest zakaz proszenia o gotowce.

@autor, całkiem prosto przerobisz sam ;)
P-110613
« 1 »
  Strona 1 z 1