Getting errors in my code
Code:
#include <stdlib.h>
#include <string.h>
struct CHlst /*define element of list*/
{
char c;
CHlst* next;
}
void main()
{
char str[200]; /*string*/
int count=strlen(str); /*number of chars*/
CHlst* begin=NULL, *ptr=NULL; /*pointer to begin and pointer to current char*/
printf("Enter string: ");
scanf("%s",str); /*input*/
if(count) /*if string isn`t empty*/
{
begin = (CHlst*)malloc(sizeof(CHlst)); /*give memory*/
if(!begin) /*if error*/
{
printf("Not enough memory\n");
return;
}
begin->c=str[0]; /*write char from string*/
begin->next=NULL; /*pointer to next char NULL*/
ptr=begin; /*begin is current char*/
}
for(int i=1;i<count;++i) /*for each char*/
{
ptr->next=(CHlst*)malloc(sizeof(CHlst)); /*give memory*/
if(!ptr) /*if error*/
{
printf("Not enough memory\n");
ptr=begin; /*current to begin*/
CHlst* tmp; /*temp variable*/
do /*clear memory*/
{
tmp=ptr->next; /pointer to next character
free(ptr);/*delete memory*/
ptr=tmp; /*new current*/
}while(tmp!=NULL); /*until list will be empty*/
return; /*exit*/
}
ptr=ptr->next; /*to next char*/
ptr->c=str[i]; /*write it*/
ptr->next=NULL; /*pointer to next char NULL*/
}
ptr=begin; /*to begin*/
while(ptr) /*throw all list*/
{
printf("%c",ptr->c); /*print chars*/
ptr=ptr->next;
}
printf("\n");
ptr=begin; /*to begin*/
while(ptr)
{
if((ptr==begin) && (ptr->c=='a' || ptr->c=='e' || ptr->c=='i' || ptr->c=='o' || ptr->c=='u' || ptr->c=='y')) /*if we have a vowels in the begining*/
{
begin=ptr->next; /*new begin*/
free(ptr); /*clear memory*/
ptr=begin; /*new current*/
}
else
break;
}
if(!begin) /*if there is no more chars*/
{
printf("There is no more chars\n");
return;
}
ptr=begin; /*to begin*/
while(ptr->next)
{
if(ptr->next->c=='a' || ptr->next->c=='e' || ptr->next->c=='i' || ptr->next->c=='o' || ptr->next->c=='u' || ptr->next->c=='y')
{ /*if found vowels in the middle of string in the next element*/
CHlst* tmp=ptr->next; /*write pointer to next element of list*/
ptr->next=tmp->next; /*current element will point to next element of tmp*/
free(tmp); /*free memory*/
}
else
ptr=ptr->next; /*to next element*/
}
ptr=begin; /*to begin*/
while(ptr)
{
printf("%c",ptr->c); /*print every element*/
ptr=ptr->next;
}
printf("\n");
ptr=begin;
CHlst* tmp;
do
{ /*clear all list*/
tmp=ptr->next;
free(ptr);
ptr=tmp;
}while(tmp!=NULL);
}
Error list
Compiling: C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.cC:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:6:2: error: unknown type name 'CHlst'
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:8:1: error: expected ';', identifier or '(' before 'void'
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:8:6: error: return type of 'main' is not 'int' [-Wmain]
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c: In function 'main':
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:12:2: error: unknown type name 'CHlst'
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:13:2: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:13:2: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:14:2: warning: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:14:2: warning: incompatible implicit declaration of built-in function 'scanf' [enabled by default]
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:17:12: error: 'CHlst' undeclared (first use in this function)
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:17:12: note: each undeclared identifier is reported only once for each function it appears in
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:17:18: error: expected expression before ')' token
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:23:8: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:24:8: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:27:2: error: 'for' loop initial declarations are only allowed in C99 mode
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:27:2: note: use option -std=c99 or -std=gnu99 to compile your code
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:29:6: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:29:20: error: expected expression before ')' token
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:34:11: error: 'tmp' undeclared (first use in this function)
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:37:12: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:37:20: error: expected expression before '/' token
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:43:10: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:44:6: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:45:6: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:50:18: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:51:10: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:57:26: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:57:41: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:57:56: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:57:71: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:57:86: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:57:101: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:59:13: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:72:11: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:74:9: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:74:30: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:74:51: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:74:72: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:74:93: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:74:114: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:76:18: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:77:7: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:81:11: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:86:18: error: request for member 'c' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:87:10: error: request for member 'next' in something not a structure or union
C:\Users\Hasnat\Desktop\New folder\Assignment 1 Embed C\new.c:94:10: error: request for member 'next' in something not a structure or union
Process terminated with status 1 (0 minutes, 0 seconds)
41 errors, 4 warnings