Форум программистов, компьютерный форум CyberForum.ru

работа с файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти double http://www.cyberforum.ru/cpp-beginners/thread599382.html
#include <iostream.h> #include<math.h> int main() { float A=1000; float B=0.0001; float X; float Z; float Y; X=pow((A-B),3)-pow(A,3);
C++ Несколько простых задач 1-го курса Пожалуйста, помогите срочно до завтра... Нужно для допуска к экзамену. Если что, для благодарности кину рублей 100 на тел. Спасибо зараннее. 1. Написать программу для вычисления объема прямоугольного параллепипеда, с использованием функции. Параметры функции: a, b, c. V=a*b*c 2. Вывести таблицу: x | y y=1/x`2-1/x на интервале с шагом 0,5 3. Запросить у пользователя ввод строки на... http://www.cyberforum.ru/cpp-beginners/thread599381.html
4. запуск исполнительных файлов и скриптов (ENTER) с последующим возвратом в программу-оболочку C++
не пойму где ошибка в коде.. при нажатии на Enter ничего не происходит.. хоть скрипту права даны.. в чем проблема? case KEY_ENTER: switch (activepanel) { case LEFT : //проверка типа файла stat(getfullname(pathL,namelistL->d_name),&buf); if (S_ISDIR(buf.st_mode)!=1) /*Функция запуска скрипта*/ break;
Защита от некорректного ввода C++
Подскажите пожалуйста как доработать защиту от некорректного ввода: // ConsoleApplication4.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <clocale> using namespace std;
C++ Целочисленная Матрица http://www.cyberforum.ru/cpp-beginners/thread599358.html
Ребята, вот задача: Даны натуральное число n, целочисленная матрица i=1,2; j=1,...,m . Найти сумму тех из элементов a2 j (j= 1,..., m), для которых a1j имеет значение наибольшего среди значений a11, a12,...,a1m Вот накалякал прогу, но не пашет, помогите разобраться... #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <math.h>
C++ Нужны комментарии к программе Деревья: Напишите программу, содержащую процедуру, которая каждый отрицательный элемент дерева заменяет на положительный, а положительный превращает в ноль. Напишите комметарии к программе и скажите какой обход дерева сдесь? #include <stdlib.h> #include <stdio.h> #include <conio.h> struct tree { int info; подробнее

Показать сообщение отдельно
funx
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 9
07.06.2012, 19:39     работа с файлами
В файле note.txt находится информация о ноутбуках. Каждая строка содержит данные об одной модели. Данные в строке размещаются в следующих полях:
1:20 - наименование модели;
21:24 - цена в долларах США (целое число);
26:28 - масса ноутбука, кг (число с десятичной точкой из 4-х символов);
30:43 - габаритные размеры ноутбука в дюймах (высота х ширина х длина - три числа с десятичной точкой (4 символа, включая точку, разделенные "х"));
44:47 - частота процессора в МГц (целое число из 3-х символов);
49:51 - максимальный объем ОЗУ в мегабайтах (целое число из 3-х символов);
53:56 - размер дисплея по диагонали в дюймах (число с десятичной точкой из 4-х символов, включая точку);
58 - размер видеопамяти в мегабайтах (целое число из 1-го символа);
60:68 - разрешающая способность дисплея в пикселах (два целых числа, разделенные "х");
70:71 - частота регенерация дисплея в Гц (целое число из 2-х символов);
73:77 - объем HDD в гигабайтах (число с десятичной точкой из 5-ти символов);
Пример файла note.txt:
Acer Note Light 2699 5.6 02.0x11.8x08.3 100 040 10.4 1 1024x0768 60 0.774
ASW ND5123T 3489 7.2 02.3x11.8x10.1 133 032 12.1 1 1024x0768 70 1.300
ARMNote TS80CD 3699 7.2 02.0x11.5x08.3 133 064 11.3 1 1024x0768 75 1.300
AST Ascentia H50 4499 7.5 02.3x11.3x09.0 133 040 11.3 1 0800x0600 70 0.774

Примечание. Все неописанные позиции заполнены пробелами.
Файл может быть сформирован с помощью текстового редактора, который не вносит в файл управляющих символов редактирования. Это: FAR, ADITOR, редактор программ в турбо Си, турбо Паскаль и другие редакторы.

Задание.
Выбрать все записи, в которых объем HDD больше 1 гигабайта. Записи в выходном файле должны быть упорядочены в порядке возрастания тактовой частоты процессора ноутбука. Запись в файл осуществлять при помощи функций: fprintf(), fputs().

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include <STDIO.H>
#include <STRING.H>
#include <MATH.H>
#include <CONIO.H>
#include <PROCESS.H>
struct Note
{
char  name[20],size[15],inch[5],hdd[5],mass[4];
int price,chast,ozu,vid,x,y,chastdisp;
Note
*Next;
};
int i;
char s;
Note *Head=NULL,*NEW;
FILE *f1,*f2;
chten()
{
f1=fopen("note.txt","r");
while(!feof(f1))
{
NEW=new Note;
for(i=0;i<20;i++)
fscanf(f1,"%c",&NEW->name[i]);
fscanf(f1,"%d",&NEW->price);
for(i=0;i<4;i++)
fscanf(f1,"%c",&NEW->mass[i]);
NEW->Next=NULL;
for(i=0;i<16;i++)
fscanf(f1,"%c",&NEW->size[i]);
fscanf(f1,"%d",&NEW->chast);
fscanf(f1,"%d",&NEW->ozu);
for(i=0;i<5;i++)
fscanf(f1,"%c",&NEW->inch[i]);
fscanf(f1,"%d",&NEW->vid);
fscanf(f1,"%d",&NEW->x);
fscanf(f1,"%c",&s);
fscanf(f1,"%d",&NEW->y);
fscanf(f1,"%d",&NEW->chastdisp);
for(i=0;i<6;i++)
fscanf(f1,"%c",&NEW->hdd[i]);
for (i=0;i<2;i++)
if ((NEW->hdd[i]=='1')||(NEW->hdd[i]=='2')||(NEW->hdd[i]=='3')||(NEW->hdd[i]=='4')||(NEW->hdd[i]=='5')||(NEW->hdd[i]=='6')||(NEW->hdd[i]=='7')||(NEW->hdd[i]=='8')||(NEW->hdd[i]=='9'))
if (Head==NULL)
Head=NEW;
else
{
NEW->Next=Head;
Head=NEW;
}
}
fclose(f1);
return(0);
}
zapoln(Note *NEW)
{
f2=fopen("notenew.txt","w");
while(NEW!=NULL)
{
for(i=1;i<20;i++)
fprintf(f2,"%c",NEW->name[i]);
fprintf(f2,"%d",NEW->price);
fprintf(f2," ");
for(i=1;i<4;i++)
fprintf(f2,"%c",NEW->mass[i]);
for(i=0;i<16;i++)
fprintf(f2,"%c",NEW->size[i]);
fprintf(f2,"%d",NEW->chast);
fprintf(f2," ");
fprintf(f2,"%d",NEW->ozu);
for(i=0;i<5;i++)
fprintf(f2,"%c",NEW->inch[i]);
fprintf(f2," ");
fprintf(f2,"%d",NEW->vid);
fprintf(f2," ");
fprintf(f2,"%d",NEW->x);
fprintf(f2,"x");
fprintf(f2,"%d",NEW->y);
fprintf(f2," ");
fprintf(f2,"%d",NEW->chastdisp);
for(i=0;i<6;i++)
fprintf(f2,"%c",NEW->hdd[i]);
fprintf(f2,"\n");
NEW=NEW->Next;
}
fclose(f2);
return(0);
}
sort(Note *head)
{
Note *current = NULL, *first = NULL, *second = NULL;
int isSorted = 0;
while( isSorted==0 ){
isSorted = 1;
current = head;
first = current->Next;
second = first->Next;
while( (second) ){
if(strcmp(first->inch,second->inch)>0){
isSorted = 0;
first->Next = second->Next;
second->Next = first;
current->Next = second;
}
current = current->Next;
first = current->Next;
second = first->Next;
}
}
return (0);
}
main ()
{
clrscr();
chten();
sort(Head);
zapoln(Head);
 
#define MAXLEN 80  //¬*ЄбЁ¬*«м**п ¤«Ё** бва®ЄЁ ў д*©«Ґ
{
char not[40];      //Ё¬п д*©«*
FILE *note;           //⥪бв®ўл© д*©«
char St[MAXLEN+2];  //бв®Є* Їа®зЁв****п Ё§ д*©«*
int n = 5;          //Є®«ЁзҐбвў® бва®Є, ўлўҐ¤Ґ**ле ** нЄа**
char key;           //Є«*ўЁи*, **¦*в*п Ї®«м§®ў*⥫Ґ¬
clrscr();
puts("Џа®б¬®ва ⥪бв®ў®Ј® д*©«*");
puts("‚ўҐ¤ЁвҐ Ї®«*®Ґ Ё¬п д*©«* Ё **¦¬ЁвҐ <Enter>");
printf("->");
scanf("%s",&not);
//ЋвЄалвм д*©« ў ०Ё¬Ґ звҐ*Ёп (r) ⥪бв* (t)
if ((note = fopen(not, "rt")) == NULL)
{
printf("ЋиЁЎЄ* ЇаЁ ®Ўа*йҐ*ЁЁ  Є д*©«г %s\n", not);
getch();
return 0;
}
clrscr();
while (!feof(note))
{
fgets(St, 60, note);
printf("%s", St);
if (++n > 51)
{
printf("\n„«п Їа®¤®«¦Ґ*Ёп **¦¬ЁвҐ");
printf(" «оЎго Є«*ўЁиг...");
key = getch();
gotoxy(1,wherey());
delline;
n = 0;
 
}
}
fclose(note);
printf("\n„«п §*ўҐаиҐ*Ёп **¦¬ЁвҐ <Enter>");
getch(); }
 
s=getch();
}
Вот мой код не работает сортировка, помогите пожалуйста исправить.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru