C program nie chce wyswietlac liczb

0
#include <stdio.h>

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()
{	
	int k=0;
	char liczby[7];
	scanf("%s", liczby);
	for(k=0; k<7; k++){
		printf("liczby[%d]=%c\n", k, liczby[k]);
	}
	wyswietl(liczby);
	return 0;
}

<code class="cpp">, bez tego ciężko cokolwiek przeczytać - msm

0

Program nie wyswietla cyfr na wyswietlaczu 7 segmentowym. Nie wiem dlaczego.

2

zmieniłem tylko dwie linijki:

#include <stdio.h>
 
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()
{    
    int k=0;
    char liczby[7];
    scanf("%s", liczby);
    for(k=0; k<7; k++){
    	liczby[k] -= '0'; // to wystarczy zeby zadzialalo
        printf("liczby[%d]=%d\n", k, liczby[k]); // wyswietlales char a uzywales int w kodzie
    }
    wyswietl(liczby);
    return 0;
}
0

Ale teraz wyswietla jakies serduszka i znaczki w tablicy, a jak zrobić żeby tam były liczby wyswietlone

0

Ok juz wiem secyfikatora nie zmieniłem

1 użytkowników online, w tym zalogowanych: 0, gości: 1