Перейти к содержанию

Guard

Members
  • Постов

    149
  • Зарегистрирован

  • Посещение

    Никогда

Profile Information

  • Location
    Нск
  • Interests
    Фантастика, Космос, горные лыжи, девушки...

Достижения Guard

  1. ИМХО - Debian. Fedorу на ноуте не тестил - рекомендовать не могу.
  2. Ладно пока исчу - последний вопрос. Как можно отсортировать массив с русскими символами по алфавиту? Или вернее как сравнить русские символы?
  3. Спасибо. Только я хотел узнать возможно ли от этого избавиться еще при объявлении функции scanf.
  4. А еще у Вас на сайте сильно не хватает готовых лаб. работ по программированию.
  5. Кажется нашел причину. При загрузке из файла в переменную типа char *s подгружается символ '\n'. Соответственно, а как от этого избавиться? P/S/ for (int i=0; s==t; i++); if (s[i-1]=='\0') printf("Равно!");
  6. IMHO - IRC. На страничке не хватает чего-то самобытного. А безликости в рунете и так хватает. Советую поработать над основной темой и целью, какую вы ставите перед собой. Вы же ставите ее, не так ли?
  7. Хех. Ну прежде всего это лаба. На работу структур. Поэтому здесь лучшее - враг зачета. Если проблему описывать конкретнее, то функция strcmp должна возвращать 0, если строки переданные ей одинаковы. Путем отладки выяснено, что проблема в том, что она не корректно сравнивает элемент структуры(формата char *s) с введенной строкой(аналогичного формата). В чем загвозтка понять не могу. P/S/ Собственноручно написанная функция для сравнения строк эту проблему тоже не решила. Что окончательно поставило в тупик.
  8. Хм. Слышал, но на практике не сталкивался. Будем знать. Однако основную проблему это не снимает.
  9. Смотрится. Только вызывает ощущение deja vu:) jino-net.ru yard.ru По реализации - советую убрать этот чат(слишком дырявый), по форуму - когда форумов больше чем тем - это наводит на нехорошие мысли, а следовательно посещаемость падает.
  10. Функция sp в приведенном коде не пашет. Почему - непонятно. #include <stdio.h> #include <conio.h> #include <string.h> #define N 20 struct car{ char reg_number[20]; char *car_model; int probeg; }; car *D; // Указатель на ДМ строк таблицы int n=0,sz=10; // кол-во строк и размерность ДМ (глобальные) void extend(){ // проверка на переполнение ДМ и расширение if (n!=sz) return; sz=sz*2; car *q=new car[sz]; for (int i=0;i<sz/2;i++) q=D; delete D; D=q; } void add(){ extend(); // не переполнен ли ДМ printf("\nRegistration number:"); scanf("%s",D[n].reg_number); char c[80]; gets©; // читать оставшийся \n из входного потока printf("\nModel of car:"); gets©; D[n].car_model=strdup©; // копия строки в ДМ printf("\nWay:"); scanf("%d", &D[n].probeg); n++; } int get_num(){ int m; do { printf("\nn="); scanf("%d",&m); } while (m<1 || m>n); return m-1; } void show(){ printf("\n\nN Registration number\t\tWay\tModel\n"); printf("--------------------------------------------------\n"); for (int i=0;i<n;i++){ printf("%-3d %-20s",i+1,D.reg_number); printf("\t%d\t", D.probeg); printf("%s\n",D.car_model); if((i+1)%20==0) getch(); } } void save(char f[]){ FILE *fd=fopen(f,"w"); fprintf(fd,"%d\n",n); for (int i=0;i<n;i++){ fprintf(fd,"%s\n",D.reg_number); fprintf(fd,"%s",D.car_model); fprintf(fd,"%d\n\n",D.probeg); } fclose(fd); } void load(char f[]){ FILE *fd=fopen(f,"r"); if (fd==NULL) return; int m; fscanf(fd,"%d",&m); for (;m!=0;m--,n++){ extend(); fscanf(fd,"%s",D[n].reg_number); char c[80]; fgets(c,80,fd); // читать "хвост" предыд. строки fgets(c,80,fd); D[n].car_model=strdup©; fscanf(fd,"%d",&D[n].probeg); } fclose(fd); } void edit(int k){ printf("\nEnter new values:\n"); printf("\nRegistration number:"); scanf("%s",D[k].reg_number); char c[80]; gets©; // читать оставшийся \n из входного потока printf("\nModel of car:"); gets©; D[k].car_model=strdup©; // копия строки в ДМ printf("\nWay:"); scanf("%d", &D[k].probeg); } void sp(){ char *s; int t=0,p=0; printf("\nEnter model of car: "); gets(s); for(int i=0; i<n; i++){ if (strcmp(s, D.car_model)==0) t=t+D.probeg; p=p+1; } t=t/p; printf("\nSrednii probeg = %d", t); getch(); } void main(){ int k,i,t; D = new car[sz]; while(1){ printf("\n1 - add\n2 - show\n3 - delete\n4 - save\n5 - load\n6 - edit\n7 - Srednii probeg\nwhat to do? "); switch(getch()){ case '1': add(); break; case '2': show(); break; case '3': if (n==0) break; k=get_num(); for (i=k;i<n-1;i++) D=D[i+1]; n--; break; case '4': save("a.txt"); break; case '5': load("a.txt"); break; case '6': if (n==0) break; t=get_num(); edit(t); break; case '7': sp(); break; case 27: return; } } }
  11. На сайте Mplayer полный набор кодеков. Google в руки!
×
×
  • Создать...