aaa
This commit is contained in:
parent
a631cc7d3f
commit
f1c2d4bd6c
125
cv2/program.c
Normal file
125
cv2/program.c
Normal file
@ -0,0 +1,125 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define LINESIZE 100
|
||||
#define LINE_SIZE 100
|
||||
#define POCET_JEDAL 10
|
||||
struct pizza {
|
||||
float prize;
|
||||
char name[LINESIZE];
|
||||
};
|
||||
void trim(char* str);
|
||||
int search_string(const char* heap, const char* needle);
|
||||
int read_pizza(struct pizza* item);
|
||||
char hacker_script(char c);
|
||||
|
||||
int main(){
|
||||
struct pizza jedalny_listok[POCET_JEDAL];
|
||||
memset(jedalny_listok, 0,sizeof(struct pizza)*POCET_JEDAL);
|
||||
int counter=0;
|
||||
char line[LINE_SIZE];
|
||||
memset(line,0,LINE_SIZE);
|
||||
printf("Zadaj hladanu surovinu:\n");
|
||||
char* r = fgets(line,LINE_SIZE,stdin);
|
||||
trim(line);
|
||||
if(r != NULL && line[1] != 0){
|
||||
printf("Zadaj jedalny listok:\n");
|
||||
struct pizza item;
|
||||
while(read_pizza(&item)){
|
||||
strcpy(jedalny_listok[counter].name, item.name);
|
||||
jedalny_listok[counter].prize=item.prize;
|
||||
//printf("%s",jedalny_listok[counter].name);
|
||||
//printf("%s",item.name);
|
||||
counter += 1;
|
||||
//printf("%d\n",counter);
|
||||
if (counter>=POCET_JEDAL)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//printf("%d\n",counter);
|
||||
for(int i=0;i<counter;i++){
|
||||
if(search_string(jedalny_listok[i].name,line)!=-1){
|
||||
printf("%s\n",jedalny_listok[i].name);
|
||||
printf("%.2f\n",jedalny_listok[i].prize);
|
||||
//printf("daco\n");
|
||||
}
|
||||
}
|
||||
//printf("%s",line);
|
||||
printf("Nacitanych %d poloziek.\n",counter);
|
||||
}
|
||||
void trim(char* str){
|
||||
int i=0;
|
||||
while(str[i]!='\n'&&str[i]!=0){
|
||||
i++;
|
||||
}
|
||||
str[i]=0;
|
||||
}
|
||||
int search_string(const char* heap, const char* needle){
|
||||
int M=strlen(needle);
|
||||
int N=strlen(heap);
|
||||
//printf("needle:%d heap: %d\n",M,N);
|
||||
for(int i=0;i<=N-M;i++){
|
||||
int j;
|
||||
for(j=0;j<M;j++){
|
||||
//printf("heap:%c\n",hacker_script(heap[i+j]));
|
||||
//printf("needle:%c\n",hacker_script(needle[j]));
|
||||
if(hacker_script(heap[i+j])!=hacker_script(needle[j])){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(j==M){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
int read_pizza(struct pizza* item){
|
||||
char line[LINE_SIZE];
|
||||
memset(line,0,LINE_SIZE);
|
||||
char* r = fgets(line,LINE_SIZE,stdin);
|
||||
trim(line);
|
||||
//printf("%s\n",line);
|
||||
if(r != NULL && line[1] != 0){
|
||||
char line2[LINE_SIZE];
|
||||
memset(line2,0,LINE_SIZE);
|
||||
fgets(line2,LINE_SIZE,stdin);
|
||||
float value = strtof(line2,NULL);
|
||||
if (value == 0.0F){
|
||||
return 0;
|
||||
}
|
||||
item->prize = value;
|
||||
strcpy(item->name, line);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
char hacker_script(char c){
|
||||
char numbers[] = "0123456789";
|
||||
char letters[] = "oizeasbtbq";
|
||||
for (int i = 0; i < 10; i++){
|
||||
if (c == numbers[i]){
|
||||
return letters[i];
|
||||
}
|
||||
}
|
||||
return tolower(c);
|
||||
}
|
||||
|
||||
////////////////////////
|
||||
// /////////
|
||||
// /////// ///////
|
||||
// //////// ///////
|
||||
// //////// ///////
|
||||
// ////// ////////
|
||||
// //// //////////
|
||||
// /////////////
|
||||
// /// ///////////
|
||||
// //// //////////
|
||||
// ///// /////////
|
||||
// ////// ////////
|
||||
// /////// ///////
|
||||
////////////////////////
|
Loading…
Reference in New Issue
Block a user